옵셔널

var doughnut: String = "레몬필링도넛"
print(doughnut)         // 레몬필링도넛

var doughnut: String?
print(doughnut)         // nil

var doughnut: String? = "레몬필링도넛"
print(doughnut)         // Optional("레몬필링도넛")
let age : Int? = 19
print("내 나이는 \\(age)살 입니다.") //내 나이는 Optional(19)살 입니다.
enum Optional<Wrapped> : ExpressibleByNilLiteral {
    case none
case some(Wrapped)
}

var optionalValue: Optional<Int> = nil
// Optional<Int>를 ?로 축약 가능함
var optionalValue: Int? = 100

switch optionalValue{
case .none:
     print("This is optional variable is nil")
case .some(let value):
     print("Value is \\(value)")

nil