equal_keys_in_map_pattern 진단: 맵 패턴의 키가 같을 때
equal_keys_in_map_pattern 진단: 맵 패턴의 키가 같을 때
분석기가 내보내는 진단에는 이름이 있어요. equal_keys_in_map_pattern은 맵 패턴(map pattern) 안에 같은 이름의 키가 두 개 이상 있을 때 Dart 분석기가 알려주는 진단이에요. 같은 키는 두 번 매칭될 수 없어요.
본문
설명
분석기는 맵 패턴이 같은 이름의 키를 두 개 이상 담고 있을 때 이 진단을 만들어요. 같은 키는 두 번 매칭될 수 없어요.
예시
다음 코드는 키 'a'가 두 번 나타나서 이 진단이 나와요.
void f(Map<String, int> x) {
if (x case {'a': 1, 'a': 2}) {}
}
흔한 해결 방법
서로 다른 두 키를 매칭하려는 거라면 패턴의 키 하나를 바꿔요.
void f(Map<String, int> x) {
if (x case {'a': 1, 'b': 2}) {}
}
같은 키를 매칭하되 여러 패턴 중 아무거나 하나만 매칭되게 하려면 논리합(logical-or) 패턴을 써요.
void f(Map<String, int> x) {
if (x case {'a': 1 || 2}) {}
}