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

definitely_unassigned_late_local_variable

late 修飾子のローカル変数 '{0}' は、この時点で必ずしも代入されていません。

説明

#

late とマークされたローカル変数が代入される前に読み取られることを、definite assignment 分析で示した場合に、アナライザーはこの診断を生成します。

#

以下のコードは、x が読み取られる前に値が代入されなかったため、この診断を生成します。

dart
void f(bool b) {
  late int x;
  print(x);
}

一般的な修正

#

読み取る前に変数に値を代入してください。

dart
void f(bool b) {
  late int x;
  x = b ? 1 : 0;
  print(x);
}