List 运算符

2 阅读1分钟

运算符

扩展运算符

Dart 在列表、映射和集合字面​​量中支持扩展运算符...) 和 可空扩展运算符...?)。扩展运算符提供了一种将多个值插入集合的简洁方法。

例如,可以使用扩展运算符 ( ...) 将一个列表的所有值插入到另一个列表中:

var list = [1, 2, 3];
var list2 = [0, ...list];
assert(list2.length == 4);

如果扩展运算符右边的表达式可能为空,则可以使用可识别空值的扩展运算符 ( ...?) 来避免异常:

var list2 = [0, ...?list];
assert(list2.length == 1);

控制流运算符

Dart 提供了collection ifcollection 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');