switch 표현식 {
case 일치하는 값 1:
코드 구문
case 일치하는 값 2:
코드 구문
case 일치하는 값 3, 4:
코드 구문
default:
코드 구문
위의 구문에서 표현식은 값을 나타내거나 값을 반환하는 식이다.
각각의 일치하는 값은 표현식의 값과 동일한 타입이어야 한다.
default 절은 표현식과 일치하는 case 구문이 없을 경우에 어떻게 해야 하는지를 정의한다.
각각의 일치하는 경우들을 공통으로 실행될 구문과 묶을 수 있다.
case 0, 1, 2:
print("0,1,2")
let temp = 83
switch (temp) {
case 0...79:
print("Cold~")
case 80...110:
print("Hot")
default:
print("temp out of range")
}
case 0...79 where temp % 2 == 0 :
print("Cold and even")
스위프트는 case 조건에 일치하면 자동으로 구문 밖으로 빠져나간다.
fallthrough 구문을 사용하면 switch 구현부에 예외상황 효과를 주어, 실행 흐름이 그 다음의 case 구문으로 계속 진행하게 할 수 있다.
let temp = 83
switch (temp) {
case 0...79:
print("Cold~")
fallthrough
case 80...110:
print("Hot")
fallthrough
default:
print("temp out of range")
}