斯坦福Swift基础一(可选类型)

一个Optional其实就是一个enum

enum Optional<T> {
    case None
    case Some(T)
}

比如:

let x:String? = nil

其实就是

let x = Optional<String>.None

let x:String? = "Hello"

就是

let x = Optional<String>.Some("Hello")

将x拆包:

var y = x!

等同于:

switch x {
    case Some(let value) : y = value
    case None : //抛出异常
}


你可能感兴趣的:(swift,斯坦福)