non_constant_map_key 진단: const 맵 리터럴의 키는 상수여야 해요

non_constant_map_key 진단: const 맵 리터럴의 키는 상수여야 해요

Dart 분석기가 만들어 내는 non_constant_map_key 진단은 const 맵 리터럴의 키가 상수가 아닐 때 알려주는 컴파일 타임 진단이에요. 상수 맵 리터럴 안의 키 값은 반드시 컴파일 타임에 결정되는 상수여야 해요.

출처: non_constant_map_key

본문

설명

분석기는 상수 맵 리터럴(const map literal)의 키가 상수 값이 아닐 때 이 진단을 만들어요.

예시

다음 코드는 a가 상수가 아니기 때문에 이 진단을 만들어요.

var a = 'a';
var m = const {a: 0};

흔한 해결 방법

맵이 상수 맵이어야 한다면, 키를 상수로 만들어요.

const a = 'a';
var m = const {a: 0};

만약 맵이 상수 맵일 필요가 없다면, const 키워드를 제거해요.

var a = 'a';
var m = {a: 0};

더 알아보기