Dart语言里,列表生成的一般方式是使用List的generate构造函数:

new List<int>.generate(3, (int index) => index * index); // [0, 1, 4]

又是匿名函数又是胖箭头,看起来很不优雅。
既然Dart被称为Python+Java/Kotlin,Python那样的列表生成表达式也是有的:

[i*i for i in range(0,3)] #python
[for (var i = 0; i < 3; i+=1 ) i*i]

如果需要枚举的对象是LIst和Set,还可以用for-in迭代,看起来更像了:

[for (var i in [0,1,2] ) i*i]

使用这种写法需要Dart 2.3.0,在Flutter项目中,需要更改pubspec.yaml:

environment:
  sdk: ">=2.2.2 <3.0.0"
# 这里是AndroidStudio自动修改的,似乎最低版本大于等于2.2.0即可。