/**
옵셔널타입의 정확한 이해
옵셔널 타입의 내부 구현
enum Optional<Wrapped> { // 제네릭 문법
case some(Wrapped)
case none
}
*/
var num: Int? = 7
// 열거형(한정된 사례)
var n1: Optional = Optional.some(7)
var n2 = Optional.none
enum Optional {
case some(Int) // 구체적인 정보를 보여줌
case none
}
switch num {
case let .some(a):
print(a)
case .none:
print("none")
}
// .none == nil 동일