`for_in_of_invalid_element_type`: for-in 루프의 요소 타입이 맞지 않아요

for_in_of_invalid_element_type: for-in 루프의 요소 타입이 맞지 않아요

Dart 분석기가 내는 for_in_of_invalid_element_type 진단에 대해 알아볼게요. for-in 루프에 쓰인 Iterable이나 Stream의 요소 타입이 루프 변수에 할당될 수 없으면 이 진단이 나와요.

출처: for_in_of_invalid_element_type

본문

for-in 루프에 쓰인 Iterable이나 Stream의 요소 타입이 루프 변수에 할당될 수 없으면 분석기가 이 진단을 만들어요.

예시

다음 코드는 <String>[]의 요소 타입이 String인데, Stringe의 타입(int)에 할당될 수 없기 때문에 이 진단을 만들어요.

void f() {
  for (int e in <String>[]) {
    print(e);
  }
}

자주 쓰는 해결 방법

루프 변수의 타입이 맞다면, iterable의 타입을 고치면 돼요.

void f() {
  for (int e in <int>[]) {
    print(e);
  }
}

iterable의 타입이 맞다면, 루프 변수의 타입을 고치면 돼요.

void f() {
  for (String e in <String>[]) {
    print(e);
  }
}

더 알아보기