prefer_spread_collections
在可能的情况下使用展开集合。
详情
#在可能的情况下使用展开集合。
当你想从单个项创建新集合时,集合字面量非常有用。但是,当现有项已经存储在另一个集合中时,展开集合语法会使代码更简洁。
坏示例
dart
Widget build(BuildContext context) {
return CupertinoPageScaffold(
child: ListView(
children: [
Tab2Header(),
]..addAll(buildTab2Conversation()),
),
);
}
dart
var ints = [1, 2, 3];
print(['a']..addAll(ints.map((i) => i.toString()))..addAll(['c']));
dart
var things;
var l = ['a']..addAll(things ?? const []);
好示例
dart
Widget build(BuildContext context) {
return CupertinoPageScaffold(
child: ListView(
children: [
Tab2Header(),
...buildTab2Conversation(),
],
),
);
}
dart
var ints = [1, 2, 3];
print(['a', ...ints.map((i) => i.toString()), 'c');
dart
var things;
var l = ['a', ...?things];
启用
#要启用 prefer_spread_collections
规则,请在你的 analysis_options.yaml
文件中 linter > rules 下添加 prefer_spread_collections
analysis_options.yaml
yaml
linter:
rules:
- prefer_spread_collections
如果你改用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 prefer_spread_collections: true
analysis_options.yaml
yaml
linter:
rules:
prefer_spread_collections: true