Golang的switch
程序员文章站
2022-05-02 08:18:40
...
switch分支控制
基本介绍:
switch 用于基于不用条件执行不同动作,每个case分支都是唯一的,从上到下逐一测试
基本语法
switch 表达式{
case 表达式1,表达式2,...:
语句块1
case 表达式3,表达式4,...:
语句块2
//可以有多个case
default:
语句块
}
流程图:
注意事项和细节
- case后是一个表达式(即:常量值、变量、一个有返回值的函数等都可以)
- case后的各个表达式的值的数据类型,必须和switch 的表达式数据类型一样
- case后可以带多个表达式,使用逗号间隔。比如case 表达式1,表达式2…
- case后的表达式如果是常量值,则要求不能重复
- case后不需要带break,程序匹配到一个case后就会执行对应的代码块,然后退出switch,如果一个都匹配不到,则执行default
- default不是必须的
- switch后也可以不带表达式,类似if-else分支来使用
- switch后也可以直接声明/定义一个变量,分号结束(不推荐)
- switch的穿透 fallthrought
什么情况下使用switch,什么情况下使用if
- 如果判断的具体数值不多,而且符合整数、浮点数、字符、字符串这几种类型。建议使用switch语句,简介高效。
- 其他情况,对区间判断和结果为bool类型的判断,使用if,if的使用范围更广。
上一篇: Atom 绝赞插件