any타입배열 스위치문 처리
작성일
any타입배열 스위치문 처리
var things = [Any]()
struct Pet { var name: String }
struct Friend { var name: String}
things.append(0)
things.append(42)
things.append(Friend(name: "광식이"))
things.append(Friend(name: "횽식이"))
things.append("hello")
things.append((3.0, 5.0))
things.append(Pet(name: "댕댕이"))
things.append({ (name: String) -> String in "난 \(name)라고 해!" })
//any 타입의 배열을 스위치 문으로 처리 가능합니다.
for thing in things {
switch thing {
case 0 as Int:
print("0이 들어왔다")
case let someInt as Int where someInt > 10;
print("someInt \(someInt)는 10보다 크다")
case is Friend: //자료형이 친구 라면
print("들어온 게 친구 이다")
case let someString as String:
print("a string value of \"\(someString)\"")
case let (x, y) as (Double, Doule):
print("an (x, y) point at \(x), \(y)")
case let myDog as Pet:
print("우리집 강아지: \(myDog.name)")
case let sayHi as (String) -> String:
print(sayHi("세밧흐촨"))
default: print("디폴트")
}
}