跳到主要内容

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