prefer_foreach
使用 forEach
仅将函数应用于所有元素。
详情
#应该 使用 forEach
,如果您仅打算将函数或方法应用于可迭代对象的所有元素。
当您仅打算将函数或方法应用于可迭代对象的所有元素时,使用 forEach
是一个好习惯,因为它使您的代码更简洁。
错误示例
dart
for (final key in map.keys.toList()) {
map.remove(key);
}
正确示例
dart
map.keys.toList().forEach(map.remove);
注意: 将 for each 语句替换为 forEach 调用可能会更改行为,如果可迭代对象本身存在副作用。
dart
for (final v in myList) {
foo().f(v); // This code invokes foo() many times.
}
myList.forEach(foo().f); // But this one invokes foo() just once.
启用
#要启用 prefer_foreach
规则,请在您的 analysis_options.yaml
文件中的 linter > rules 下添加 prefer_foreach
analysis_options.yaml
yaml
linter:
rules:
- prefer_foreach
如果您改为使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 prefer_foreach: true
analysis_options.yaml
yaml
linter:
rules:
prefer_foreach: true
除非另有说明,否则本网站上的文档反映的是 Dart 3.7.1 版本。页面上次更新于 2025-03-07。 查看源代码 或 报告问题。