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")
}
위 코드에서 number
를 Int
로 변환하기 위해 as?
연산자를 사용합니다. 변환에 성공하면 intValue
에 변환된 값이 할당되고, “intValue: 10”이 출력됩니다. 변환에 실패하면 “Cannot convert to Int”가 출력됩니다.
위에서 소개한 함수와 연산자들은 Swift에서 타입 확인을 위해 유용하게 사용될 수 있습니다. 이를 통해 타입에 대한 안전성과 코드의 가독성을 높일 수 있습니다.