跳到主要内容

prefer_final_in_for_each

稳定版
修复可用

如果 for-each 循环变量的引用未被重新赋值,则**建议**使用 final。

详情

#

应该优先将 for-each 循环变量声明为 final,如果它们在代码的后续部分没有被重新赋值。

尽可能将 for-each 循环变量声明为 final 是一个好习惯,因为它有助于避免意外的重新赋值,并允许编译器进行优化。

错误示例

dart
for (var element in elements) { // LINT
  print('Element: $element');
}

正确示例

dart
for (final element in elements) {
  print('Element: $element');
}

正确示例

dart
for (var element in elements) {
  element = element + element;
  print('Element: $element');
}

不兼容的规则

#

prefer_final_in_for_each 规则与以下规则不兼容

启用

#

要启用 prefer_final_in_for_each 规则,请在您的 analysis_options.yaml 文件中的 linter > rules 下添加 prefer_final_in_for_each

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_final_in_for_each

如果您改为使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 prefer_final_in_for_each: true

analysis_options.yaml
yaml
linter:
  rules:
    prefer_final_in_for_each: true