跳到主要內容

assignment_to_final_local

final 變數 '{0}' 只能設定一次。

描述

#

當宣告為 final 的區域性變數在初始化後被賦值時,分析器會生成此診斷訊息。

示例

#

以下程式碼會生成此診斷訊息,因為 x 是 final 變數,所以在初始化後不能再對其賦值

dart
void f() {
  final x = 0;
  x = 3;
  print(x);
}

常見修復方法

#

移除關鍵字 final,如果沒有型別註解,則將其替換為 var

dart
void f() {
  var x = 0;
  x = 3;
  print(x);
}