Swift Optional的本质
作者:
lieon | 来源:发表于
2021-05-27 16:02 被阅读0次
/// 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
网友评论