Dart2.3以上的版本,Map定义时就可以使用简单的for循环和if判断进行map项的生成和过滤。但在使用时for/if等语句后面不能使用花括号({}),有点类似于python的类型推导了。
void main() {
List<int> l1 = [1,2,3,4,6,5];
Map<int, int> mi2i = <int,int>{
for (var value in l1)
if (value%2 == 0)
value: value * 100,
};
print(mi2i);
}
输出如下: