跳到主要內容

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 檔案中的 linter > rules 下方新增 unnecessary_final

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