- Optional 其实是标准库里的一个 enum 类型
-
用标准库实现语言特性的典型
截屏2021-05-23 16.03.21.png
- Optional.none 就是 nil
- Optional.some 则包装了实际的值
var str: Optional<String> = "abc"
if let actualStr = str {
let count = actualStr.count
print(count)
}
打印结果:
3
optional 展开实现
- 范型属性 unsafelyUnwrapped
- 理论上来讲,我们可以直接调用 unsafelyUnwrapped 获取可选项的值
var str: String? = "abc"
let count = str.unsafelyUnwrapped.count
print(count)
打印结果:
3
网友评论