内容

unnecessary_final

不要对局部变量使用final

此规则从 Dart 2.7 开始可用。

此规则有一个可用的快速修复

不兼容规则:prefer_final_localsprefer_final_parameters

详细信息

#

在声明局部变量时,使用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规则,请在analysis_options.yaml文件的linter > rules下添加unnecessary_final

analysis_options.yaml
yaml
linter:
  rules:
    - unnecessary_final