Switch
작성일
Switch
기본적인 사용 법은
switch <비교 대상> {
case <비교 패턴1> :
<비교 패턴1이 일치 했을 때 실행할 구문>
case <비교 패턴2>, <비교 패턴3> :
<비교 패턴2 또는 3이 일치했을 때 실행할 구문>
default :
<어느 비교 패턴과도 일치하지 않았을 때 실행할 구문>
}
이런 방식으로 사용하는데 특이한점은, 어느 하나라도 반드시 일치해야 한다.
만약에 없을 경우를 대비하여 default구문을 꼭 만들어줘야 한다. 따라서 default 구문이 없으면 switch구문은 오류가 발생한다.
var value = (2, 3)
switch value {
case let (x, 3) :
print("튜플의 두 번째 값이 3일 떄 첫 번째 값은 \(x)입니다.")
case let (3, y) :
print("튜플의 첫 번째 값이 3일 떄 두 번째 값은 \(y)입니다.")
case let (x, y) :
print("튜플의 값은 각각 \(x), \(y)입니다")
}
실행결과
튜플의 두 번쨰 값이 3일 때 첫 번째 값은 2입니다.
다른 예시로 글이 작성된 시간(초)을 범위에 따라 그룹지어 표현해주는 구문을 작성해 보면
var passtime = 1957
switch passtime {
case 0..<60 :
print("방금 작성된 글입니다")
case 60..3600 :
print("조금 전 작성된 글입니다")
case 3600..<86400 :
print("얼마 전 작성된 글입니다")
default :
print("예전에 작성된 글입니다")
}
실행결과
조금 전 작성된 글입니다
이런 방식으로도 활용할 수 있다.