Skip to content

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 语句必须是 穷举的。这意味着你必须处理 要判断的值 的所有可能情况。有两种方法可以实现这一点:

  1. 提供所有可能的值的 case 标签。
  2. 提供一个 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 语句!

本站使用 VitePress 制作