이전 case에 가려진 switch default
이전 case에 가려진 switch default
switch 문 안의 default 절이 매칭 가능한 모든 값을 앞선 case들이 이미 매칭해서 아무것도 매칭하지 못할 때 이 진단이 발생해요. 필요 없어진 default 절을 정리하는 방법을 함께 살펴볼게요.
본문
설명
analyzer는 switch 문 안의 default 절이 매칭 가능한 모든 값을 앞선 case가 이미 매칭해서 아무것도 매칭하지 못할 때 이 진단을 내보내요.
예시
다음 코드는 값 E.e1과 E.e2가 앞선 case들에서 이미 매칭됐기 때문에 진단이 발생해요.
enum E { e1, e2 }
void f(E x) {
switch (x) {
case E.e1:
print('one');
case E.e2:
print('two');
default:
print('other');
}
}
일반적인 해결 방법
불필요한 default 절을 제거해요.
enum E { e1, e2 }
void f(E x) {
switch (x) {
case E.e1:
print('one');
case E.e2:
print('two');
}
}
더 알아보기
switch문과 enum에 대한 내용은 Dart의 분기(branches) 문서를 확인해 보세요.