跳到主内容

for_in_with_const_variable

for-in 循环的变量不能是 'const'。

描述

#

当 for-in 循环中声明的循环变量被声明为 const 时,分析器会生成此诊断。该变量不能是 const,因为其值无法在编译时计算。

示例

#

以下代码会产生此诊断,因为循环变量 x 被声明为 const

dart
void f() {
  for (const x in [0, 1, 2]) {
    print(x);
  }
}

常见修复方法

#

如果存在类型标注,则从声明中移除 const 修饰符。

如果不存在类型,则将 const 修饰符替换为 finalvar 或添加类型标注。

dart
void f() {
  for (final x in [0, 1, 2]) {
    print(x);
  }
}