[swift] 타입 확인을 위한 Swift의 내장 함수

Swift는 강력한 타입 시스템을 가지고 있어 변수나 상수의 타입을 확인하는데 많은 도움을 줍니다. 이를 위해 Swift는 몇 가지 내장 함수를 제공합니다.

1. type(of:)

type(of:) 함수는 변수나 상수의 실제 타입을 반환하는 함수입니다. 예를 들어, 다음과 같이 사용할 수 있습니다.

let name = "John"
print(type(of: name)) // String

위 코드에서 type(of: name)은 변수 name의 타입인 String을 반환합니다.

2. is

is 연산자는 변수나 상수의 타입을 확인하는데 사용됩니다. 다음은 is 연산자의 사용 예시입니다.

let value: Any = "Hello"
if value is String {
    print("value is a String")
} else if value is Int {
    print("value is an Int")
} else {
    print("Unknown type")
}

위 코드에서 value의 타입을 확인하기 위해 is 연산자를 사용합니다. value의 타입이 String이면 “value is a String”이 출력되고, Int이면 “value is an Int”가 출력됩니다. 그 외의 타입이면 “Unknown type”이 출력됩니다.

3. as?

as? 연산자는 변수나 상수의 타입 캐스팅을 시도하고, 성공하면 해당 타입으로 변환하고, 실패하면 nil을 반환합니다. 이를 사용하여 타입 변환을 안전하게 수행할 수 있습니다. 다음은 as? 연산자의 사용 예시입니다.

let number: Any = 10
if let intValue = number as? Int {
    print("intValue: \(intValue)")
} else {
    print("Cannot convert to Int")
}

위 코드에서 numberInt로 변환하기 위해 as? 연산자를 사용합니다. 변환에 성공하면 intValue에 변환된 값이 할당되고, “intValue: 10”이 출력됩니다. 변환에 실패하면 “Cannot convert to Int”가 출력됩니다.

위에서 소개한 함수와 연산자들은 Swift에서 타입 확인을 위해 유용하게 사용될 수 있습니다. 이를 통해 타입에 대한 안전성과 코드의 가독성을 높일 수 있습니다.