跳到主要内容

unnecessary_final

稳定
提供修复

局部变量不要使用 final

详情

#

声明局部变量时,使用 var 而不是 final

根据 Effective Dart,有两种广泛使用的风格。此规则强制执行 var 风格。对于倾向使用 final 的另一种风格,请改为启用 prefer_final_localsprefer_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