跳到主要內容

for_in_of_invalid_type

'for' 迴圈中使用的型別“{0}”必須實現“{1}”。

描述

#

分析器在 for-in 迴圈中 in 後面的表示式型別不是 Iterable 的子類時,會生成此診斷。

示例

#

以下程式碼會生成此診斷,因為 m 是一個 Map,而 Map 不是 Iterable 的子類

dart
void f(Map<String, String> m) {
  for (String s in m) {
    print(s);
  }
}

常見修復

#

將表示式替換為生成可迭代值的表示式

dart
void f(Map<String, String> m) {
  for (String s in m.values) {
    print(s);
  }
}