Swift 中的可选类型详解:你需要知道的 5 件事
· 阅读需 11 分钟
Swift 中的可选类型详解:你需要知道的 5 件事
可选类型是 Swift 的核心,自 Swift 的第一个版本 以来就已存在。可选值允许我们编写简洁的代码,同时处理可能的 nil 值。
如果你刚接触 Swift,你应该习惯在属性中添加问号的语法。一旦你习惯了它们,你就可以开始从它们中受益,例如使用扩展。
什么是 Swift 中的可选值?
在我们深入了解你应该知道的知识点列表之前,首先了解基础知识很重要。
属性、方法和下标可以返回一个可选类型,这基本上意味着它要么返回一个值(如果存在),要么返回 nil
。可以将多个查询链接在一起,这称为“可选链式”。这是“强制解包”的替代方法,稍后将对此进行更详细的解释。
以下代码示例定义了一个可选的 String
,并使用链式打印字符数。
let name: String? = "Antoine van der Lee"
print(name?.count ?? 0)
注意:稍后将解释 ?? 运算符(空合并运算符)。
1. 强制解包 Swift 中的可选类型
强制解包要么返回存在的值,要么在值是 nil
时触发运行时错误。
但在我们深入了解强制解包之前,让我们先了解一下不使用强制解包的解包可能性。
如何解包一个可选类型?
有许多方法可以在 Swift 中解包一个值。你可以使用 guard 语句:
let name: String? = "Antoine van der Lee"
guard let unwrappedName = name else {
return
}
print(unwrappedName.count)
或者你可以使用 if let 语句:
let name: String? = "Antoine van der Lee"
if let unwrappedName = name {
print(unwrappedName.count)
}