玩转 Flutter 之 Dart-流程控制

玩转 Flutter 之 Dart-流程控制

Dart 的流程控制语句,其实跟常规的流程控制语句非常像,按照常规使用没有任何问题,本文只列出其中比较有特点的内容,供大家参考。

  1. if 相关的 boolean
  2. for 循环相关
  3. fall-through 写法

if 相关的 boolean

拿 JS 举例,我们经常使用非 0 或 undefined 或 null 的值来判断真,比如常用的:

if(array.length) console.log('数组非空');

但是 Dart 不同之处在于严格限定 if 语句只能判断 boolean(这当然也包含 else if)。所以使用 Dart 中就不可使用上面的例子,只能使用 boolean 来做判断:

玩转 Flutter 之 Dart-流程控制


for 循环相关

首先,请 JSer 们举手欢呼,面试 Dart 再也不会问你 for 循环内部使用 var 相关的问题了,没错,Dart 的 var 是锁定义域的,不用担心变量提升(以及闭包的坑)等问题了。非 JSer 们请忽略这段话,继续下面即可。

同样还是 JSer 们,forEach 不带迭代计数器了,就是没有:

arr.forEach((item, index) => any...)

上面的 index 没有了哦,注意下。

然后,for in 适合 List 和 Set 不适合 Map,而不是 ES6 中的 for in 更适合对象。for of 没有。


fall-through

switch 的 case fall-through 写法:

玩转 Flutter 之 Dart-流程控制


下篇:函数。


分享到:


相關文章: