11 控制流之switch语句
在上一章中,我们讨论了 if
语句的基本用法,if
语句是控制流中最基本的结构之一。今天,我们将深入探讨另一种强大的控制流语句——switch
语句。
switch
语句允许我们根据一个变量的值来控制程序的流向,与 if
语句相比,switch
更加清晰和易于维护。它能够处理多个条件,非常适合用于多分支选择结构。
switch
语法
switch
语句的基本语法结构如下:
1 | switch value { |
这里的 value
是我们需要进行判断的值,而 case
后面的 pattern
则是我们要匹配的模式。如果某个模式匹配成功,将执行对应的代码块。如果没有任何模式匹配成功,那么将执行 default
中的代码块。
以下是一个简单的示例:
1 | let number = 3 |
在这个例子中,变量 number
的值为 3
,因此程序输出 Number is three
。
模式匹配
值的区间
在 switch
中,我们不仅可以匹配单一的值,还可以匹配值的范围。这使得 switch
语句非常方便。例如:
1 | let score = 85 |
在这个例子中,根据 score
的范围输出不同的评语。
元组匹配
switch
语句还允许我们使用元组进行复杂的匹配。例如:
1 | let point = (1, 1) |
在这个例子中,我们通过 case
语句匹配元组的不同情况,并使用 let
关键字来提取值。
值绑定
switch
语句还可以通过值绑定,将匹配的值绑定到变量以便在对应的代码块中使用。例如:
1 | let animal = "rabbit" |
在这个例子中,对于没有明确匹配到的动物名,我们将其赋值给 x
变量并输出。
fallthrough 控制
在 switch
语句中,可以使用 fallthrough
关键字来实现穿透行为,允许程序在匹配到某个 case
后继续执行下一个 case
的代码块。例如:
1 | let value = 1 |
在上述代码中,由于 fallthrough
的存在,当 value
为 1
时,不仅会输出 One
,还会继续输出 Two
,结果将是:
1 | One |
总结
本章中,我们深入探讨了 switch
语句的多种用法及特性,包括值的匹配、区间匹配、元组匹配、值绑定和 fallthrough
控制。通过这些知识,您可以构建更具可读性和可维护性的代码结构。
在下节课中,我们将进一步讨论控制流中的循环语句,通过学习循环,您将能够执行重复的任务和迭代数据。继续期待我们的下一个主题吧!
11 控制流之switch语句