[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