跳到主內容

prefer_const_declarations

對初始化為常量值的 'final' 變數使用 'const'。

描述

#

當頂層變數、靜態欄位或區域性變數被標記為 final 並初始化為常量值時,分析器會生成此診斷。

示例

#

以下程式碼會產生此診斷,因為頂層變數 v 既是 final 又初始化為常量值

dart
final v = const <int>[];

以下程式碼會產生此診斷,因為靜態欄位 f 既是 final 又初始化為常量值

dart
class C {
  static final f = const <int>[];
}

以下程式碼會產生此診斷,因為區域性變數 v 既是 final 又初始化為常量值

dart
void f() {
  final v = const <int>[];
  print(v);
}

常見修復方法

#

將關鍵字 final 替換為 const 並從初始化器中刪除 const

dart
class C {
  static const f = <int>[];
}