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

未初期化_非null許容変数

非null許容変数「{0}」は初期化する必要があります。

説明

#

この診断は、静的フィールドまたはトップレベル変数で、null許容ではない型で初期化子がない場合にアナライザーによって生成されます。初期化子がないフィールドや変数は通常nullに初期化されますが、フィールドまたは変数の型ではnullに設定できないため、明示的な初期化子を指定する必要があります。

#

次のコードは、フィールドfnullに初期化できないため、この診断を生成します。

dart
class C {
  static int f;
}

同様に、次のコードは、トップレベル変数vnullに初期化できないため、この診断を生成します。

dart
int v;

一般的な修正

#

フィールドまたは変数をnullに初期化できない場合は、null以外の値に設定する初期化子を追加してください。

dart
class C {
  static int f = 0;
}

フィールドまたは変数をnullに初期化する必要がある場合は、型をnull許容に変更してください。

dart
int? v;

フィールドまたは変数を宣言時に初期化できないが、参照される前に必ず初期化される場合は、lateとしてマークしてください。

dart
class C {
  static late int f;
}