Swift 可选项本质

2020-08-07  本文已影响0人  Aliv丶Zz
enum Optional<Wrapped> : ExpressibleByNilLiteral {
    case none
    case some(Wrapped)
    public init(_ some: Wrapped)
}

使用方式:

var age: Int? = 10
age = 20
age = nil
//等同于
var age: Optional<Int> = Optional.some(10)
age = .some(20)
age = .none
switch age {
    case let v?:
        print("some:",v)
    case nil:
        print("none")
}

//等同于

switch age{
    case let .some(v):
        print("some:",v)
    case .none:
        print("none")
}
上一篇 下一篇

猜你喜欢

热点阅读