美文网首页
optional 实现原理

optional 实现原理

作者: 一个栗 | 来源:发表于2021-05-26 17:41 被阅读0次
  • 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

相关文章

网友评论

      本文标题:optional 实现原理

      本文链接:https://www.haomeiwen.com/subject/lhlzjltx.html