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

Posted COCOgsta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言自学系列 | golang switch语句相关的知识,希望对你有一定的参考价值。

视频来源: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

以上是关于Go语言自学系列 | golang switch语句的主要内容,如果未能解决你的问题,请参考以下文章

Go语言自学系列 | golang中的if语句

Go语言自学系列 | go语言数据类型

Go语言自学系列 | golang包

Go语言自学系列 | golang数组

Go语言自学系列 | golang标准库bytes

Go语言自学系列 | golang高阶函数