メインコンテンツにスキップ

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);
}