14 控制结构之switch语句

在前一篇中,我们详细探讨了for循环的使用与实现。在本篇中,我们将深入了解Go语言中的另一重要控制结构——switch语句。switch语句提供了一种便捷的多分支选择方式,是替代多个if-else语句的理想选择。

switch语句的基本语法

Go语言的switch语句的基本结构如下:

1
2
3
4
5
6
7
8
switch expression {
case value1:
// 执行语句
case value2:
// 执行语句
default:
// 执行语句
}

在这个结构中,expression是被测试的表达式,case后面跟的是可能的值。如果某个case中的值与expression的结果匹配,则会执行该case下面的语句块。如果没有匹配的值,且定义了default,则执行default中的语句。

示例:基本的 switch 用法

以下是一个简单的例子,展示了如何使用switch语句来判断数字的范围:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package main

import (
"fmt"
)

func main() {
number := 2

switch number {
case 1:
fmt.Println("数字是 1")
case 2:
fmt.Println("数字是 2")
case 3:
fmt.Println("数字是 3")
default:
fmt.Println("数字不在 1 到 3 的范围内")
}
}

在这个例子中,变量number的值为2,程序会输出数字是 2

switch语句的特点

  1. 省略表达式switch语句可以不指定表达式,默认情况下,它将仅对true进行匹配。

    1
    2
    3
    4
    5
    6
    7
    8
    switch {
    case number < 5:
    fmt.Println("数字小于 5")
    case number < 10:
    fmt.Println("数字小于 10")
    default:
    fmt.Println("数字是 10 或更大")
    }
  2. 多个条件:多个条件可以在同一个case中用逗号分隔。

    1
    2
    3
    4
    5
    6
    switch number {
    case 1, 2, 3:
    fmt.Println("数字是 1、2 或 3")
    default:
    fmt.Println("其他数字")
    }

fallthrough语句

Go语言中,switch语句的一个独特之处是,switch语句的case不会自动fall through到下一个case。如果你希望在匹配某个case后继续执行下一个case的代码,需要使用fallthrough关键字。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package main

import (
"fmt"
)

func main() {
number := 2

switch number {
case 1:
fmt.Println("数字是 1")
case 2:
fmt.Println("数字是 2")
fallthrough
case 3:
fmt.Println("这是一个介于 2 和 3 之间的数字")
default:
fmt.Println("数字不在 1 到 3 的范围内")
}
}

在上面的代码中,如果number2,程序将输出:

1
2
数字是 2
这是一个介于 2 和 3 之间的数字

switch语句应用实例

我们可以将switch语句用于多种场合,如对输入进行处理。以下是一个示例程序,根据输入的月份输出该月份的季节:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main

import (
"fmt"
)

func main() {
month := 4 // 你可以试试从 1 到 12 的其他月份

switch month {
case 12, 1, 2:
fmt.Println("冬季")
case 3, 4, 5:
fmt.Println("春季")
case 6, 7, 8:
fmt.Println("夏季")
case 9, 10, 11:
fmt.Println("秋季")
default:
fmt.Println("无效的月份")
}
}

输入的月份为4时,输出为春季

结束语

在本篇中,我们深入学习了Go语言中的switch语句,了解了它的基本用法及特点。使用switch可以提高代码的可读性,特别是在需要做多个条件判断时,能够简化代码结构。接下来,我们将进入函数部分,讨论函数的定义和调用,继续我们的学习旅程。

14 控制结构之switch语句

https://zglg.work/go-zero/14/

作者

AI免费学习网(郭震)

发布于

2024-08-10

更新于

2024-08-11

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论