Go语言自学系列 | golang switch语句
2023-09-14 09:09:08 时间
视频来源: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语句的注意事项
- 支持多条件匹配
- 不同的 case 之间不使用 break 分隔,默认只会执行一个 case。
- 如果想要执行多个 case,需要使用 fallthrough 关键字,也可用 break 终止。
- 分支还可以使用表达式,例如:a>10
相关文章
- go语言异步交叉输出abc
- Ubuntu 搭建GO语言开发环境
- go语言实现限流器
- Go语言测试代码
- Go语言内置函数大全
- Go语言内置函数大全
- go mod导入本地包的正确引入方法:require + replace
- 干货分享丨从MPG 线程模型,探讨Go语言的并发程序
- [手游项目3]-13-go语言的defer语句
- Go语言自学系列 | golang标准库errors
- Go语言自学系列 | golang标准库log
- Go语言自学系列 | 高效golang开发
- Go语言自学系列 | golang开发vscode快捷键
- Go语言自学系列 | golang并发编程之select switch
- Go语言自学系列 | golang并发变成之通道channel
- Go语言自学系列 | golang并发编程之协程
- Go语言自学系列 | golang高阶函数
- Go语言自学系列 | golang函数的返回值
- Go语言自学系列 | golang切片
- Go语言自学系列 | golang中的if else if语句
- Go语言自学系列 | golang运算符
- Go语言自学系列 | golang字符串
- 387集Go语言核心编程培训视频教材整理 | 程序流程控制(二)
- 387集Go语言核心编程培训视频教材整理 | Golang开山篇
- Go语言(golang)新发布的1.13中的Error Wrapping深度分析
- go语言|数据结构:二叉树(1)创建与遍历方法