final_initialized_in_declaration_and_constructor
'{0}' 是 final 变量,在声明时已给定值,因此不能将其设置为新值。
描述
#当一个 final 字段被初始化两次时,分析器会产生此诊断:一次在声明时,一次通过构造函数的参数。
示例
#以下代码会产生此诊断,因为字段 f
被初始化了两次
dart
class C {
final int f = 0;
C(this.f);
}
常见修复
#如果该字段对于所有实例都应具有相同的值,则移除参数列表中的初始化。
dart
class C {
final int f = 0;
C();
}
如果该字段可以在不同实例中具有不同的值,则移除声明中的初始化。
dart
class C {
final int f;
C(this.f);
}