unnecessary_final
Don't use final
for local variables.
Details
#Use var
, not final
, when declaring local variables.
Per Effective Dart,
there are two styles in wide use. This rule enforces the var
style.
For the alternative style that prefers final
, enable prefer_final_locals
and prefer_final_in_for_each
instead.
For fields, final
is always recommended; see the rule prefer_final_fields
.
BAD:
void badMethod() {
final label = 'Final or var?';
for (final char in ['v', 'a', 'r']) {
print(char);
}
}
GOOD:
void goodMethod() {
var label = 'Final or var?';
for (var char in ['v', 'a', 'r']) {
print(char);
}
}
Incompatible rules
#The unnecessary_final
rule is incompatible with the following rules:
Enable
#To enable the unnecessary_final
rule,
add unnecessary_final
under linter > rules in your
analysis_options.yaml
file:
linter:
rules:
- unnecessary_final
If you're instead using the YAML map syntax to configure linter rules,
add unnecessary_final: true
under linter > rules:
linter:
rules:
unnecessary_final: true
除非另有说明,文档之所提及适用于 Dart 3.7.2 版本,本页面最后更新时间: 2025-03-07。 查看文档源码 或者 报告页面问题。