final_initialized_in_declaration_and_constructor
'{0}' 是 final 變數,在宣告時已給定值,因此不能將其設定為新值。
描述
#當一個 final 欄位被初始化兩次時,分析器會產生此診斷:一次在宣告時,一次透過建構函式的引數。
示例
#以下程式碼會產生此診斷,因為欄位 f 被初始化了兩次
dart
class C {
final int f = 0;
C(this.f);
}常見修復
#如果該欄位對於所有例項都應具有相同的值,則移除引數列表中的初始化。
dart
class C {
final int f = 0;
C();
}如果該欄位可以在不同例項中具有不同的值,則移除宣告中的初始化。
dart
class C {
final int f;
C(this.f);
}