[swift] 구조체와 열거형의 switch 문 활용하기

Swift에서 switch 문은 다양한 타입의 데이터에 대한 패턴 매칭을 지원합니다. 이 기능은 구조체와 열거형 타입을 다룰 때 매우 유용하게 사용될 수 있습니다.

이 글에서는 구조체와 열거형의 switch 문을 활용하는 방법에 대해 알아보겠습니다.

구조체에 대한 switch 문 활용하기

먼저, 다음과 같이 간단한 구조체를 정의해보겠습니다.

struct Animal {
    var type: String
    var sound: String
}

이제 switch 문을 사용하여 Animal 구조체의 인스턴스를 다루는 예제를 살펴보겠습니다.

let cat = Animal(type: "고양이", sound: "야옹")

switch cat {
case Animal(type: "고양이", sound: let sound):
    print("고양이가 \(sound) 소리를 내었습니다.")
default:
    print("알 수 없는 동물입니다.")
}

위의 예제에서는 switch 문을 사용하여 cat 구조체의 속성에 따라 다른 동작을 수행하고 있습니다. case 절에서는 구조체의 속성과 매칭하여 sound 값을 가져와서 출력하고 있습니다.

열거형에 대한 switch 문 활용하기

이번에는 열거형에 대한 switch 문을 사용하는 예제를 살펴보겠습니다.

다음은 간단한 열거형인 Direction을 정의한 예제입니다.

enum Direction {
    case north
    case south
    case east
    case west
}

이제 switch 문을 사용하여 Direction 열거형의 값을 다루는 예제를 살펴보겠습니다.

let direction = Direction.east

switch direction {
case .north:
    print("북쪽입니다.")
case .south:
    print("남쪽입니다.")
case .east:
    print("동쪽입니다.")
case .west:
    print("서쪽입니다.")
}

위의 예제에서는 switch 문을 사용하여 direction 열거형의 값에 따라 다른 동작을 수행하고 있습니다.

결론

이렇게 구조체와 열거형에 대한 switch 문을 활용하여 다양한 패턴 매칭을 수행할 수 있습니다. switch 문은 Swift에서 데이터를 다룰 때 매우 유용한 도구이며, 구조체와 열거형과 함께 사용하는 경우 매우 강력한 기능을 발휘합니다.

이상으로 구조체와 열거형의 switch 문 활용에 대해 알아보았습니다.

활용 레퍼런스: Swift 공식 문서 - Control Flow