美文网首页
Swift Optional的本质

Swift Optional的本质

作者: lieon | 来源:发表于2021-05-27 16:02 被阅读0次
  • 可选类型的本质: 其本质是enum类型
/// Optional的内部实现
public enum Optional<Wrapped> : ExpressibleByNilLiteral {
    case none
    case some(Wrapped)
    
    public init(_ some: Wrapped)
}
func testOptional() {
    var age: Int? = 10 // 等价于 var age1: Optional<Int> = .some(10) var age = Optional(10)
    age = .some(10)
    age = nil // 等价于 age = .none
    var age1: Optional<Int> = .some(20)  // 等价于  age1 = Optional(20)
    // 可选的本质是枚举,所以可以用switch取值
    switch age {
    case .some(let a):
        debugPrint(a) // 20
    case .none:
        debugPrint("none")
    }
}

相关文章

网友评论

      本文标题:Swift Optional的本质

      本文链接:https://www.haomeiwen.com/subject/pxhdsltx.html