内容

prefer_final_locals

如果变量没有重新赋值,则优先使用 final 来声明变量。

此规则在 Dart 2.0 中可用。

此规则有 快速修复 可用。

不兼容规则: unnecessary_final

详细信息

#

优先使用 final 声明变量,如果它们在代码中稍后没有重新赋值。

尽可能地使用 final 声明变量是一种良好的实践,因为它有助于避免意外重新赋值,并允许编译器进行优化。

错误

dart
void badMethod() {
  var label = 'hola mundo! badMethod'; // LINT
  print(label);
}

正确

dart
void goodMethod() {
  final label = 'hola mundo! goodMethod';
  print(label);
}

正确

dart
void mutableCase() {
  var label = 'hola mundo! mutableCase';
  print(label);
  label = 'hello world';
  print(label);
}

用法

#

要启用 prefer_final_locals 规则,请在 analysis_options.yaml 文件的 linter > rules 下添加 prefer_final_locals

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_final_locals