flutter基础语法:列表类型
1. 定义
列表是相同类型数据的序列,在 Dart 里用List
表示列表,[]
来初始化。例如:
var list = [1, 2, 3];
提示
编译器推导list
的类型为List<int>
,这里涉及到泛型(Generics)。泛型会在后面进行介绍。
2. 获取列表元素
list
的下标从0开始,最后一个元素的下标为list.length - 1
。它支持使用下标来访问列表里的元素,例如:
var list = [1, 2, 3];
assert(list.length == 3);
assert(list[1] == 2);
list[1] = 1;
assert(list[1] == 1);
3. 扩展操作符
Dart 2.3引入了扩展操作符(...
)和适配空的扩展操作符(...?
),这两个操作符可以一次性向集合里插入多条数据。例如将一个列表的数据全部插入到另外一个列表中。
var list = [1, 2, 3];
var list2 = [0, ...list];
assert(list2.length == 4);
上面例子中,如果list
可能为空,需要使用...?
操作符。
4. collection if 和 collection for
除了扩展操作符,还有 collection if 和 collection for 语法,用来初始化列表,例如:
var nav = ['Home', 'Furniture', 'Plants', if (promoActive) 'Outlet'];
var listOfInts = [1, 2, 3];
var listOfStrings = ['#0', for (var i in listOfInts) '#$i'];
assert(listOfStrings[1] == '#1');