内容

prefer_foreach

仅用于将函数应用于所有元素,请使用forEach

此规则自 Dart 2.0 起可用。

详情

#

**请**仅在您要将函数或方法应用于可迭代对象的所有元素时使用forEach

仅在您要将函数或方法应用于可迭代对象的所有元素时使用forEach是一种良好的实践,因为它使您的代码更简洁。

错误示例

dart
for (final key in map.keys.toList()) {
  map.remove(key);
}

正确示例

dart
map.keys.toList().forEach(map.remove);

**注意:**用 forEach 调用替换 for each 语句可能会在可迭代对象本身存在副作用的情况下改变行为。

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