- 可选项的本质就是enum类型
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")
}












网友评论