惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
S
SegmentFault 最新的问题
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
小众软件
小众软件
博客园 - 聂微东
阮一峰的网络日志
阮一峰的网络日志
博客园 - 三生石上(FineUI控件)
月光博客
月光博客
The Cloudflare Blog
T
Tailwind CSS Blog
博客园 - 【当耐特】
Jina AI
Jina AI
量子位
有赞技术团队
有赞技术团队
博客园 - Franky
V
Visual Studio Blog
V
V2EX

Dart

Dart 中的这个语法特性是什么时候推出的? deno 和 dart 好像啊 [转] Dart 服务器端开发 、 Dart 客户端开发 、Dart 浏览器端开发 和 Dart 云开发 用 Dart 重写了一个原本用 JavaScript 做的小应用 最近学习 Dart 语言,分享一下心得 (入门级) js 转 dart 编译器哪家强? Fuchsia OS 预计还有 75 天后发布 凑热闹, dart 适合做后台吗 [Flutter/Dart] 关于 dart 异步任务执行顺序的问题 Flutter 资料分享 有没有 Dart 的大佬想要写书的,合作吗? Dart/Flutter 资料精选 [转] 为什么 Flutter 会选择 Dart ? Dart 在 fuchsia os 上的应用
使用了下 Dart 语言,发现一些特性的设计得非常缜密,例如 Li...
yech1990 · 2020-03-09 · via Dart

就拿大量使用 List Comprehension 的 Python 做比较,

  • Dart 的一个 List Comprehension 里面可以包含多个“逻辑”
  • “逻辑”的结果可以为空

这些特性 Python 需要分为多个 List Comprehension 且外层嵌套逻辑来实现,比如产生这样的一个 List:

( Dart 的实现)

void main() {
  print([
    if (2 > 1) 222 else 333,
    if (2 > 3) 444,
    for (int i in Iterable.generate(10)) if (i % 3 == 1) i,
    for (int i in Iterable.generate(10, (x) => x + 100)) if (i % 2 == 0) i
  ]);
}

output: [222, 1, 4, 7, 100, 102, 104, 106, 108]

https://dartpad.dev/540d15e9a25afb2159ee1b380e98d906

( Python 的实现)

print(
    [if (2 > 1) 222 else 333] + 
    ([444] if (2 > 3) else []) +
    [i for i in range(10) if i % 3 == 1] +
    [i + 100 for i in range(10) if (i + 100) % 2 == 0]
)