[swift] switch 문에서의 패턴 매칭

Swift의 switch 문은 여러 값들에 대한 조건을 처리하기 위해 사용됩니다. switch 문은 각각의 case에서 패턴 매칭을 통해 값을 비교하고 적절한 블록을 실행할 수 있게 해줍니다.

기본 문법

일반적인 switch 문의 기본 구조는 다음과 같습니다:

switch value {
case pattern1:
    // pattern1에 매칭될 때 실행되는 블록
case pattern2:
    // pattern2에 매칭될 때 실행되는 블록
default:
    // 어떤 case에도 매칭되지 않을 때 실행되는 블록
}

여기서 value는 비교할 값이고 pattern은 비교할 패턴입니다. 패턴은 다양한 형태로 작성할 수 있으며, 각각의 case에서 다른 패턴을 사용할 수도 있습니다.

패턴 매칭 예제

각각의 case에서 필요한 패턴을 사용하여 switch 문을 작성할 수 있습니다. 다음은 몇 가지 패턴 매칭의 예제입니다:

값 비교

var number = 5

switch number {
case 0:
    print("0입니다.")
case 1...5:
    print("1부터 5 사이의 값입니다.")
case 6, 7, 8:
    print("6, 7, 8 중 하나입니다.")
default:
    print("다른 값입니다.")
}

옵셔널 값 비교

var optionalNumber: Int? = 10

switch optionalNumber {
case nil:
    print("값이 없습니다.")
case let value?:
    print("값이 있습니다: \(value)")
}

튜플 비교

var point = (x: 10, y: 5)

switch point {
case (0, 0):
    print("원점입니다.")
case (_, 0):
    print("x축 위의 점입니다.")
case (0, _):
    print("y축 위의 점입니다.")
case (let x, let y):
    print("x: \(x), y: \(y)")
}

결론

switch 문은 Swift에서 다양한 값을 패턴에 맞게 처리하기 위한 강력한 도구입니다. 패턴 매칭을 사용하여 조건을 처리하고 적절한 블록을 실행할 수 있습니다. 이를 통해 코드의 가독성과 유지보수성을 높일 수 있습니다.

자세한 내용은 Swift 공식 문서를 참고하세요.