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

posted @ 2019-02-28 15:35  仁心之士  阅读(236)  评论(0编辑  收藏  举报