写点什么

【愚公系列】2022 年 10 月 Go 教学课程 018- 分支结构之 switch

作者:愚公搬代码
  • 2022 年 10 月 04 日
    福建
  • 本文字数:953 字

    阅读完需:约 3 分钟

前言

Switch 在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以 Go 语言来说,switch(开关语句)常和 case default 一起使用。

一、switch 语句

1.switch 基本使用

Go 语言中 switch 中的每一个 case 都是独立代码块,无需通过 break 语句跳出代码块,以避免执行到下一个 case 代码块。


相关案例:


package main
import "fmt"
func main() { num := 1
switch num { case 1: fmt.Println("小愚公") case 2: fmt.Println("大愚公") default: fmt.Println("不是愚公") }}
复制代码



上面代码中,case 对整型 num 进行判断,若条件符合,则打印相应的字符串。另外,还使用了 default 分支,default 分支表示若条件均不符合,则执行改代码块。

2.一分支多值

package main
import "fmt"
func main() { num := 1
switch num { case 1, 2: fmt.Println("都是愚公") }}
复制代码


3.分支表达式

package main
import "fmt"
func main() { num := 1
switch { case num > 0 && num < 2: fmt.Println("猜对了是愚公") }}
复制代码


4.fallthrough 关键字

Go 语言中 swtich 语句中的 case 均为独立代码块,执行完成后,不会继续执行下一个 case,fallthrough 就可以实现继续执行。


package main
import "fmt"
func main() { num := 1
switch { case num > 0: fmt.Println("愚公一号") fallthrough case num < 2: fmt.Println("愚公二号") }}
复制代码


二、相关案例

1.成绩打分

package main
import "fmt"
func main() { //考试成绩大于等于90输出A,大于等于80输出B,大于等于70输出C,大于等于60输出D,不及格输出E var score float64 fmt.Println("请输入考试成绩:") fmt.Scan(&score) switch { case score >= 90: fmt.Println("A") case score >= 80: fmt.Println("B") case score >= 70: fmt.Println("C") case score >= 60: fmt.Println("D") default: fmt.Println("E") }}
复制代码


总结

  • 某个 case 后面跟着的代码执行完毕后,不会再执行后面的 case,而是跳出整个 switch 结构,相当于每个 case 后面都跟着 break(终止),但是如果我们想执行完成某个 case 后,强制执行后面的 case,可以使用 fallthrough。

  • switch 结构和 if 结构是可以结合来使用的,可以根据具体的问题具体分析,灵活来应用。

发布于: 刚刚阅读数: 3
用户头像

还未添加个人签名 2022.03.01 加入

该博客包括:.NET、Java、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、python、大数据等相关使用及进阶知识。查看博客过程中,如有任何问题,皆可随时沟通。

评论

发布
暂无评论
【愚公系列】2022年10月 Go教学课程 018-分支结构之switch_10月月更_愚公搬代码_InfoQ写作社区