스위프트에서는 다양한 방법으로 변수나 상수의 자료형을 체크할 수 있습니다.
'is' 연산자는 변수나 상수가 특정 자료형과 호환되는지 확인하는데 사용됩니다. 이 연산자는 부울 값을 반환합니다.
let value: Any = 5
if value is Int {
print("value is an Int")
} else if value is String {
print("value is a String")
} else {
print("value is of an unknown type")
}
'as'연산자는 변수나 상수의 자료형을 변환하는데 사용됩니다. 이 연산자를 사용할 때는 항상 옵셔널 타입으로 변환이 이루어지며, 타입 캐스팅이 불가능한 경우 nil을 반환합니다.
let value: Any = 5
if let intValue = value as? Int {
print("Converted to Int: \(intValue)")
} else {
print("Cannot convert to Int")
}
'as!' 연산자는 강제 타입 캐스팅을 수행합니다. 만약 타입 캐스팅이 실패할 경우 런타임 에러가 발생합니다.
let value: Any = 5
let intValue = value as! Int
print("Converted to Int: \(intValue)")
참고(출처) : 개발하는 정대리, 야곰(Swift5)