运算符
扩展运算符
Dart 在列表、映射和集合字面量中支持扩展运算符( ...
) 和 可空扩展运算符( ...?
)。扩展运算符提供了一种将多个值插入集合的简洁方法。
例如,可以使用扩展运算符 ( ...
) 将一个列表的所有值插入到另一个列表中:
var list = [1, 2, 3];
var list2 = [0, ...list];
assert(list2.length == 4);
如果扩展运算符右边的表达式可能为空,则可以使用可识别空值的扩展运算符 ( ...?
) 来避免异常:
var list2 = [0, ...?list];
assert(list2.length == 1);
控制流运算符
Dart 提供了collection if和collection forif
for 供列表、映射和集合字面量使用。您可以使用这些运算符通过条件 ( ) 和重复 ( )构建集合for
。
下面是使用collection if 创建包含三或四个项目的列表的示例:
var nav = ['Home', 'Furniture', 'Plants', if (promoActive) 'Outlet'];
Dart 还支持集合字面量中的if-case:
var nav = ['Home', 'Furniture', 'Plants', if (login case 'Manager') 'Inventory'];
下面是一个使用collection for 操作一个列表的项目然后再将它们添加到另一个列表的示例:
var listOfInts = [1, 2, 3];
var listOfStrings = ['#0', for (var i in listOfInts) '#$i'];
assert(listOfStrings[1] == '#1');