跳到主要内容

final_not_initialized

final 变量“{0}”必须被初始化。

描述

#

当 final 字段或变量未初始化时,分析器会生成此诊断信息。

示例

#

以下代码会生成此诊断信息,因为 x 没有初始化器:

dart
final x;

常见修复方法

#

对于变量和静态字段,您可以添加初始化器:

dart
final x = 0;

对于实例字段,您可以像上一个示例那样添加初始化器,或者在每个构造函数中初始化字段。您可以使用初始化形式参数(initializing formal parameter)来初始化字段:

dart
class C {
  final int x;
  C(this.x);
}

您也可以在构造函数中使用初始化列表来初始化字段:

dart
class C {
  final int x;
  C(int y) : x = y * 2;
}