728x90
안녕하세요:)
오늘은 switch 구문에 대해서 알아보려고 합니다!
< switch 구문 >
- switch 문은 패턴으로 비교하고 그 결과를 바탕으로 실행할 코드를 결정하는 조건문입니다.
- 각 case에는 반드시 하나의 실행 가능한 문장이 포함되어야 합니다.
- case 블록에서 모든 경우의 수를 처리했을 경우 default 블록을 생략할 수 있습니다.
- case 비교 패턴을 작성할 때, 하나의 case 키워드 다음에 하나 이상의 비교 패턴을 연이어 작성할 수 있습니다.
< switch statement >
switch value {
case pattern:
code
default:
code
}
let num = 2
switch num {
case 1:
print("One")
case 2:
print("Two")
case 3:
print("Three")
default:
break
}
그리고 switch 문에서 패턴에 조건을 추가할 수 있습니다.
조건을 추가할 때는 where을 사용해서 조건을 추가하면 됩니다!
let num = 2
switch num {
case let odd where !odd.isMultiple(of: 2):
print("홀수")
case let even where even.isMultiple(of: 2):
print("짝수")
default:
break
} // 짝수
또한 Interval matching이 가능합니다.
let num = 10
switch num {
case 0:
print("0입니다")
case 1...10:
print("0에서 10사이 입니다.")
case 11...20:
print("11에서 20사이 입니다.")
default:
print("나머지 입니다.")
} // 0에서 10사이 입니다.
마지막으로 switch 문에서는 fallthrough를 사용할 수 있습니다.
fallthrough를 사용하면 매칭된 블록을 실행한 다음 종료하지 않고 이어지는 블록의 코드를 실행하고 종료합니다.
fallthrough를 사용하면 코드의 중복을 줄일 수 있는 장점이 있습니다.
let temperature = 30
switch temperature {
case -10...10:
print("Cold")
case 11...20:
print("Cool")
case 21...30:
print("Warm")
fallthrough
default:
print("Hot")
} // Warm, Hot
다음 시간에는 guard 구문에 대해서 알아보도록 하겠습니다.
읽어주셔서 감사합니다:)
728x90
'Swift' 카테고리의 다른 글
Loop statements - for문 (0) | 2020.10.29 |
---|---|
Conditional Statement - guard문 (0) | 2020.10.29 |
Conditional Statement - if 구문 (0) | 2020.10.23 |
Operator (0) | 2020.10.23 |
Type Inference & Annotation & Conversion (0) | 2020.10.23 |