[swift] Swift에서 구조체의 타입 확인

Swift에서는 구조체(struct)를 사용하여 데이터를 모델링하거나 관리하는 경우가 많습니다. 따라서 때로는 특정 변수가 어떤 구조체의 인스턴스인지 확인하는 작업이 필요할 수 있습니다.

이 문제를 해결하기 위해 Swift에서는 타입 확인(type checking) 연산자인 is를 제공합니다. is 연산자는 주어진 변수가 특정 타입인지 아닌지를 검사하는 역할을 합니다.

아래는 예제 코드입니다.

struct Person {
    var name: String
    var age: Int
}

let john = Person(name: "John", age: 30)

if john is Person {
    print("john is a Person")
} else {
    print("john is not a Person")
}

let jane = "Jane"

if jane is Person {
    print("jane is a Person")
} else {
    print("jane is not a Person")
}

위의 코드에서는 Person이라는 구조체를 정의하고, john 변수에 Person 구조체의 인스턴스를 할당합니다. 그리고 john 변수가 Person 타입인지 확인하고 해당하는 메시지를 출력합니다.

또한, jane 변수에는 문자열을 할당하고, 이 변수가 Person 타입인지 확인하도록 코드를 작성합니다. 이 경우에는 jane 변수가 Person 타입이 아니므로 해당하는 메시지를 출력합니다.

Swift에서는 이와 같은 방식으로 구조체의 타입을 확인할 수 있습니다. 이를 통해 코드의 안정성을 높이고 예기치 않은 에러를 방지할 수 있습니다.

참고 자료: