unnecessary_final
局部变量不要使用 final
。
详情
#声明局部变量时,使用 var
而不是 final
。
根据 Effective Dart,有两种广泛使用的风格。此规则强制执行 var
风格。对于倾向使用 final
的另一种风格,请改为启用 prefer_final_locals
和 prefer_final_in_for_each
。
对于字段,始终建议使用 final
;请参阅规则 prefer_final_fields
。
反例
dart
void badMethod() {
final label = 'Final or var?';
for (final char in ['v', 'a', 'r']) {
print(char);
}
}
正例
dart
void goodMethod() {
var label = 'Final or var?';
for (var char in ['v', 'a', 'r']) {
print(char);
}
}
不兼容的规则
#unnecessary_final
规则与以下规则不兼容
启用
#要启用 unnecessary_final
规则,请在你的 analysis_options.yaml
文件中将 unnecessary_final
添加到 linter > rules 下方
analysis_options.yaml
yaml
linter:
rules:
- unnecessary_final
如果你使用 YAML map 语法配置 linter 规则,请在 linter > rules 下方添加 unnecessary_final: true
analysis_options.yaml
yaml
linter:
rules:
unnecessary_final: true