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 map 语法来配置 linter 规则,请在 linter > rules 下添加 prefer_final_in_for_each: true
analysis_options.yaml
yaml
linter:
rules:
prefer_final_in_for_each: true