expression_in_map 진단: map 리터럴에는 표현식을 쓸 수 없어요

expression_in_map 진단: map 리터럴에는 표현식을 쓸 수 없어요

분석기가 내보내는 진단에는 이름이 있어요. expression_in_mapmap 리터럴로 보이는 곳에서 map 항목(entry)이 아니라 표현식(expression)이 발견될 때 Dart 분석기가 알려주는 컴파일 타임 진단이에요. map 리터럴의 각 항목은 반드시 키: 값 형태로 작성해야 해요.

출처: expression_in_map

본문

설명

분석기는 map 리터럴로 보이는 곳에서 map 항목 대신 표현식을 발견하면 이 진단을 만들어요. 다음 코드는 이 진단을 만들어요. 마지막 항목이 키: 값이 아니라 표현식 'c'뿐이라서요.

예시

var map = <String, int>{'a': 0, 'b': 1, 'c'};

흔한 해결 방법

그 표현식이 항목의 키나 값을 계산하려는 의도였다면, 표현식을 키나 값으로 바꿔서 해결해요. 예를 들어 이렇게요.

var map = <String, int>{'a': 0, 'b': 1, 'c': 2};

더 알아보기