跳到主要内容

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