go-switch特点
程序中遇到有枚举分支逻辑时,需要用到 switch 代替多个 if else 判断。
学习过程遇到一些与C#不同点,记录下。
语法:
switch expr {
case x1 :
//expr为x1时的处理逻辑
case x2,x3 :
//expr为x2或x3时的处理逻辑
default:
//expr为未知值时的默认处理逻辑
}
与C#比较,有如下区别:
(1) expr可以是表达式,而C#必须是一个变量;
(2) case值可以是一个也可以是多个(用逗号分隔表示|),C#只能是单值,如要表示|可多个case间不加 break;
(3) case之间默认自动跳出switch,不需要像C#那样每个case逻辑结束时写 break(但是显式的写 break 也不会报错)。
-- end