Golang中的switch语句用法:
var index string = "a"
switch index {
case "a":
fmt.Println("It's a")
default:
fmt.Println("nothing")
}
switch语句基于不同条件执行不同动作,每一个case分支都是唯一的,从上到下逐一测试,直到匹配为止
default语句不是必须的
1、Golang的case后面可以带多个表达式,使用逗号间隔;
case/switch后面可以是:变量、常量、有返回值的函数等
2、Goalng的case语句块不需要加break,默认情况下,程序执行完case语句块后,会直接退出当前的switch控制结构(自动break)。
不过加了break不会报错。
3、case后面各个表达式的值和数据类型,必须和switch的表达式数据类型一致
遇到这种情况,需要把数据类型转换成一致:
4、case后面的表达式如果是常量值,要求不能重复:
若表达式是变量,则可重复:
5、switch后面可以不带表达式,类似if-else语句:
6、switch后面可以直接声明/定义一个变量,以分号结束
7、switch穿透:fallthrough,如果在case语句块后加上fallthrough,则会继续执行下一个case,fallthrough 也叫做 switch 穿透
下一篇:最后一页