Menu
CoddyTech

使用 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 代码块。这样可以避免直接使用缺失值时发生崩溃。

challenge icon

挑战

简单

你会得到以下变量:

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"
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Swift 在线编辑器