可选项的本质
- 可选项的本质是什么
enum Optional<Wrapped>: ExpressibleByNilLiteral {
case none
case some(Wrapped)
public init(_ value: Wrapped) {
}
}
var age: Int? = 10
等价于
var age: Optional<Int> = .some(10)
var age: Int? = 20
switch age {
case let v:
print(v)
default:
break
}
// 如果 age = nil 那么,这个 case let v? 就不会执行
switch age {
case let v?:
print(v)
default:
break
}
其实就相当于
switch age {
case let .some(v):
print(v)
default:
break
}
--------------------------执行结果--------------------------
Optional(20)
20
溢出运算符
- Swift 的算数运算符出现 溢出时会抛出运行时错误
- Swift 有溢出运算符(&+、&-、&*),用来支持溢出运算
思考
-
数据结构是什么样子的?
可以看成是二叉树
