11.1_基本switch语句
在 Swift 中,switch 语句是一种强大的控制流工具,它允许你根据不同的值执行不同的代码块。它比多个 if-else if-else 语句更清晰、更易读。让我们一起探索如何使用它!
switch 语句的结构
switch 语句的基本结构如下:
swift
switch 要判断的值 {
case 值1:
// 如果 要判断的值 等于 值1,执行这里的代码
case 值2:
// 如果 要判断的值 等于 值2,执行这里的代码
default:
// 如果 要判断的值 不等于任何 case 的值,执行这里的代码
}要判断的值:这是你想要评估的变量或表达式。case 值1:、case 值2::每个case标签都包含一个可能的值。如果要判断的值与某个case的值匹配,则执行该case下的代码。default::default标签是可选的,但强烈建议使用。如果要判断的值与任何case的值都不匹配,则执行default下的代码。
一个简单的例子 🍎
假设你想根据一个整数的值打印不同的消息。你可以这样使用 switch 语句:
swift
let number = 3
switch number {
case 1:
print("数字是 1")
case 2:
print("数字是 2")
case 3:
print("数字是 3")
default:
print("数字不是 1、2 或 3")
}在这个例子中,因为 number 的值是 3,所以会打印 "数字是 3"。
break 的重要性 ⚠️
与其他编程语言不同,Swift 的 switch 语句在执行完一个 case 的代码后,会自动退出 switch 语句,不需要显式地使用 break 语句。如果你想在执行完一个 case 的代码后继续执行下一个 case 的代码,可以使用 fallthrough 关键字。
必须穷举所有可能的情况 ✅
Swift 的 switch 语句必须是 穷举的。这意味着你必须处理 要判断的值 的所有可能情况。有两种方法可以实现这一点:
- 提供所有可能的值的
case标签。 - 提供一个
default标签来处理所有未明确列出的情况。
例如,如果你正在处理一个枚举类型,你必须为枚举的所有 case 提供 case 标签,或者提供一个 default 标签。
多个值匹配同一个 case 👯
你可以使用逗号分隔多个值,使它们匹配同一个 case:
swift
let character: Character = "e"
switch character {
case "a", "e", "i", "o", "u":
print("这是一个元音字母")
default:
print("这不是一个元音字母")
}在这个例子中,如果 character 是 "a"、"e"、"i"、"o" 或 "u",则会打印 "这是一个元音字母"。
总结 🎉
switch 语句是 Swift 中一个非常有用的工具,可以使你的代码更清晰、更易读。记住要穷举所有可能的情况,并根据需要使用 fallthrough 关键字。希望你喜欢使用 switch 语句!