- 在list中使用判断句
void main(List<String> args) {
bool flag = false;
List li = [];
li.addAll(["geek", if (flag == true) "ll", flag == true ? "xx" : null]);
print(li);
}
之前写js数组就有这样的需求,满足条件则在数组的指定位置添加对应的元素,在js的数组中直接用if会报错,用三元运算符返回undefined会占位,相比之前dart的单语句判断写在list中方便直观多了;但是if(){}
这种花括号语句写在list中会报错,逻辑复杂的话只好用list.insert
了。三元运算符在list中返回null会占位。
这是dart比较有趣的地方,甚至可以直接在list内写for循环。
var ls = [1, 2, for (var i in List.generate(3, (x) => x + 3)) i + 1];
print(ls); // [1, 2, 4, 5, 6]
网友评论