Swift学习08:Optional的使用Optional实现原理探索

张建 lol

Optional-实现探究

  • Optional 其实是一个标准库里的一个 public 的 enum 类型,而且是 泛型 的,泛型的类型是 Wrapped

  • 用标准库实现语言特性的典型

  • Optional.none 就是 nil

  • Optional.some 则包装了实际的值

1
2
3
4
5
var str:Optional<String> = "abc"
if let actualStr = str {
let count = actualStr.count
print(count)
}

Optional-解包实现

  • 泛型属性 unsafelyUnwrapped

  • 理论上我我们可以直接调用 unsafelyUnwrapped 获取可选项的值
1
2
3
var str:String? = "abc"
let count = str.unsafelyUnwrapped.count
print(count)

  • Post title:Swift学习08:Optional的使用Optional实现原理探索
  • Post author:张建
  • Create time:2023-02-22 02:56:00
  • Post link:https://redefine.ohevan.com/2023/02/22/Swift课程/Swift学习08:Optional的使用Optional实现原理探索/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
On this page
Swift学习08:Optional的使用Optional实现原理探索