当前位置: 首页 > 工具软件 > Go Switch > 使用案例 >

Go语言自学系列 | golang switch语句

令狐俊风
2023-12-01

视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:Go语言自学系列 | 汇总_COCOgsta的博客-CSDN博客


go语言中的switch语句,可以非常容易的判断多个值的情况。

go语言中switch语句的语法

switch var1 {
    case val1:
        ...
    case val2:
        ...
    default:
        ...
}

go语言中switch语句实例

判断成绩

package main

import (
    "fmt"
)

func f() {
    grade := "A"
    switch grade {
    case "A":
        fmt.Println("优秀")
    case "B":
        fmt.Println("良好")
    default:
        fmt.Println("一般")
    }
}

func main() {
    f()
}

运行结果

[Running] go run "d:\SynologyDrive\软件开发\go\golang入门到项目实战\goproject\360duote.com\pro01\test.go"
优秀

多条件匹配

go语言switch语句,可以同时匹配多个条件,中间用逗号分隔,有其中一个匹配成功即可。

package main

import (
    "fmt"
)

func f() {
    day := 3
    switch day {
    case 1, 2, 3, 4, 5:
        fmt.Println("工作日")
    case 6, 7:
        fmt.Println("休息日")
    }
}

func main() {
    f()
}

运行结果

[Running] go run "d:\SynologyDrive\软件开发\go\golang入门到项目实战\goproject\360duote.com\pro01\test.go"
工作日

case可以是条件表达式

package main

import (
    "fmt"
)

func f() {
    score := 90
    switch {
    case score >= 90:
        fmt.Println("享受假期")
    case score < 90 && score >= 80:
        fmt.Println("好好学习吧!")
    default:
        fmt.Println("玩命学习!")
    }
}

func main() {
    f()
}

运行结果

[Running] go run "d:\SynologyDrive\软件开发\go\golang入门到项目实战\goproject\360duote.com\pro01\test.go"
享受假期

fallthrough可以执行满足条件的下一个case

package main

import (
    "fmt"
)

func f3() {
    a := 100
    switch a {
    case 100:
        fmt.Println("100")
        fallthrough
    case 200:
        fmt.Println("200")
    case 300:
        fmt.Println("300")
    default:
        fmt.Println("other")
    }
}

func main() {
    f3()
}

运行结果

[Running] go run "d:\SynologyDrive\软件开发\go\golang入门到项目实战\goproject\360duote.com\pro01\test.go"
100
200

go语言中switch语句的注意事项

  1. 支持多条件匹配
  2. 不同的 case 之间不使用 break 分隔,默认只会执行一个 case。
  3. 如果想要执行多个 case,需要使用 fallthrough 关键字,也可用 break 终止。
  4. 分支还可以使用表达式,例如:a>10
 类似资料: