跳到主內容

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