[swift] guard 문을 사용하여 타입 캐스팅을 할 수 있나요?
예를 들어, 다음은 guard 문을 사용하여 String 타입으로의 캐스팅을 수행하는 예제입니다.
func processObject(_ object: Any) {
guard let str = object as? String else {
print("The object is not a String")
return
}
// 여기서 'str'은 안전하게 캐스팅된 문자열입니다.
print("The string is: \(str)")
}
위의 예제에서, guard let 구문은 object를 String으로 캐스팅하고, 그 결과를 str 상수에 할당합니다. 캐스팅이 성공하지 않으면 else 블록이 실행되어 “The object is not a String”을 출력하고 함수가 종료됩니다.
guard let 구문은 옵셔널 바인딩과 타입 캐스팅을 결합하여 안전하게 값을 추출하고 사용할 수 있도록 도와줍니다.
참고 자료: Swift 공식 문서 - Guard Statements