Swift

Conditional Statement - switch문

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