prefer_for_elements_to_map_fromIterable
在从可迭代对象构建 Map 时,推荐使用 for
元素。
详情
#当从可迭代对象构建 Map 时,最好使用 for
元素。
使用 'for' 元素带来以下几个好处,包括
- 性能
- 灵活性
- 可读性
- 改进的类型推断
- 改进的与空安全的交互
不良示例
dart
Map<String, WidgetBuilder>.fromIterable(
kAllGalleryDemos,
key: (demo) => '${demo.routeName}',
value: (demo) => demo.buildRoute,
);
良好示例
dart
return {
for (var demo in kAllGalleryDemos)
'${demo.routeName}': demo.buildRoute,
};
良好示例
dart
// Map<int, Student> is not required, type is inferred automatically.
final pizzaRecipients = {
...studentLeaders,
for (var student in classG)
if (student.isPassing) student.id: student,
};
启用
#要启用 prefer_for_elements_to_map_fromIterable
规则,请在您的 analysis_options.yaml
文件中的 linter > rules 下添加 prefer_for_elements_to_map_fromIterable
analysis_options.yaml
yaml
linter:
rules:
- prefer_for_elements_to_map_fromIterable
如果您改为使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 prefer_for_elements_to_map_fromIterable: true
analysis_options.yaml
yaml
linter:
rules:
prefer_for_elements_to_map_fromIterable: true
除非另有说明,否则本网站上的文档反映了 Dart 3.7.1 版本。页面上次更新于 2025-03-07。 查看源代码 或 报告问题。