Optional其实是标准库里的一个枚举类型,用标准库实现语言特性的类型。
他的枚举类型也就两种类型,分别是none 和some
Optional.none其实对应就是nil
Optional.some则包装了实际的值
Optional里面有一个范形类型,理论上我们可以直接通过调用
unsafelyUnwrapped
获取可选项的值.
@inlinable public var unsafelyUnwrapped: Wrapped { get }
PS:下面👇两个等价
let str: Optional<String> = "abc"
let str: String? = "abc"