이전 case에 가려진 switch case
이전 case에 가려진 switch case
switch 문 안의 어떤 case 절이 앞선 case 때문에 어떤 값도 매칭하지 못할 때 이 진단이 발생해요. 중복되거나 겹치는 case를 정리하는 방법을 함께 살펴볼게요.
본문
설명
analyzer는 switch 문 안의 case 절이 매칭 가능한 모든 값을 앞선 case가 이미 매칭해서 아무것도 매칭하지 못할 때 이 진단을 내보내요.
예시
다음 코드는 값 1이 앞선 case에서 이미 매칭됐기 때문에 진단이 발생해요.
void f(int x) {
switch (x) {
case 1:
print('one');
case 1:
print('two');
}
}
일반적인 해결 방법
충돌하는 case 중 하나 또는 둘 다를 서로 다른 값을 매칭하도록 바꿔줘요.
void f(int x) {
switch (x) {
case 1:
print('one');
case 2:
print('two');
}
}
더 알아보기
switch문과 패턴 매칭에 대한 내용은 Dart의 분기(branches) 문서를 확인해 보세요.