[swift] Swift에서 제네릭 타입의 타입 확인
Swift는 강력한 제네릭 기능을 제공하여 다양한 타입의 데이터를 처리할 수 있습니다. 그러나 때로는 제네릭 타입의 실제 타입을 확인해야 할 때가 있습니다. 이러한 상황에서는 type(of:)
함수를 사용하여 제네릭 타입의 실제 타입을 확인할 수 있습니다.
func printType<T>(_ value: T) {
let type = type(of: value)
print("Type of value: \(type)")
}
let intValue = 10
let stringValue = "Hello"
let doubleValue = 3.14
printType(intValue) // 출력: Type of value: Int
printType(stringValue) // 출력: Type of value: String
printType(doubleValue) // 출력: Type of value: Double
struct Person {
var name: String
var age: Int
}
let person = Person(name: "John", age: 30)
printType(person) // 출력: Type of value: Person
위의 예제에서는 printType
함수를 정의하고, 인자로 받은 값의 타입을 출력하는 기능을 가지고 있습니다. 함수에 다양한 타입의 변수를 전달하여 타입을 확인할 수 있습니다.
intValue
는 Int
타입이므로 Type of value: Int
가 출력됩니다. stringValue
는 String
타입이므로 Type of value: String
이 출력됩니다. doubleValue
는 Double
타입이므로 Type of value: Double
이 출력됩니다.
또한 Person
이라는 구조체를 정의하고, person
변수에 해당 구조체의 인스턴스를 할당하여 타입을 확인할 수 있습니다. 출력 결과는 Type of value: Person
입니다.
이렇게 Swift에서 제네릭 타입의 타입을 확인하는 방법은 type(of:)
함수를 사용하는 것입니다. 이 기능을 통해 제네릭 타입의 실제 타입을 확인하고, 필요한 작업을 수행할 수 있습니다.
참고 문서: Swift 공식 문서 - Type Casting