Go 编程语言中 switch 语句的语法如下:
switch Variable{
case val1:
...
case val2:
...
default:
...
}
switch 语句执行的过程从上至下,直到找到匹配项。与C++中不同的是:switch 默认情况下 case 最后自带 break 语句,匹配成功后就不会执行其他 case,如果我们需要执行后面的 case,可以使用 fallthrough。但是fallthrough语句会强制执行下一个case,不论是否判断为真。
例如:
rankNum := 1
flag := false
switch rankNum {
case 1:
flag = true
fmt.Println("No.1") //打印a后不会执行后面的case语句
case 2,3,4:
fmt.Println("others")
}
switch {
case flag:
fmt.Println("print a")
fallthrough //打印之后还会执行后面的case语句
case !flag:
fmt.Println("already printed") //尽管条件语句判定为false,但是由于前面有fallthrough,此case强制执行同样被打印
case !flag:
fmt.Println("not print yet")
}
有疑问加站长微信联系(非本文作者)