使用 if let 解包
本课属于 Coddy Swift 学习旅程的“基础知识”单元。第 12 课,共 86 课。
要安全地访问可选值中的值,我们可以使用 if let,这是一种称为可选绑定的技巧。它会检查可选值是否包含值,如果包含,就将其解包到一个临时常量中。
var username: String? = "Swift_Dev"
if let name = username {
print("Welcome, \(name)")
} else {
print("No username found")
}
// Welcome, Swift_Dev这里,if let 会检查 username 是否有值。由于它有值,这个值会被解包到 name 中,而 name 只在 if 代码块内存在。如果 username 是 nil,则会运行 else 代码块。
var age: Int? = nil
if let unwrappedAge = age {
print("Age is \(unwrappedAge)")
} else {
print("Age not provided")
}
// 未提供年龄由于 age 是 nil,条件不成立,因此会执行 else 代码块。这样可以避免直接使用缺失值时发生崩溃。
挑战
简单你会得到以下变量:
var nickname: String? = "CoddyLearner"使用 if let 安全地解包 nickname。如果它包含一个值,就打印 Hello, [value]!,其中 [value] 是解包后的昵称。如果它是 nil,就打印 No nickname set。
亲手试试
var nickname: String? = "CoddyLearner"
// TODO:在下方编写你的代码
// 使用 if let 安全地解包 nickname
// 如果它有值,就打印 "Hello, [value]!"
// 如果它是 nil,就打印 "No nickname set"这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Swift 在线编辑器