20190716|golang流程控制之if及switch

庸_65c6 · · 1521 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

一、if

1、单分支

if   表达式{}

2、双分支

if   表达式{

}else{

}

3、多分支

if   表达式  {

}else if  表达式 {

}else {

}

二、switch

1、基本语法

switch   表达式  {

        case  表达式  :

        case  表达式:

        default :

}

2、注意事项及使用细节

1)、switch/case后面是一个表达式(可以是变量、常量值、一个有返回值的函数);

2)、case后面表达式的值得数值类型,必须和switch的表达式的值得数据类型相同;

3)、case后面可以跟多个表达式,之间用“,”隔开,如case  表达式1,表达式2 ,......

4)、case后面跟的常量值不能重复;

5)、一个case语句结束后不需要写break,程序会自动结束;

6)、default语句也不是必须的;

7)、switch后也可以不跟表达式,类似if-else语句

例如:

8)、switch也可直接跟声明/定义一个变量,用“;”结束,但是不推荐使用


9)、swtich穿透fallthrough,如果在case语句最后加上fallthrough则会执行下一个case语句,也叫做switch穿透;

10)、Type Switch,switch还被用于type-siwtch来判断某个interface接口实际指向的变量类型

三、swithc和if的使用场景

1、如果判断的具体数值不多,而且符合整数、浮点数、字符、字符串这几种类型,建议使用switch语句

2、对区间判断和bool类型的判断,使用if,if的使用范围更广。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:庸_65c6

查看原文:20190716|golang流程控制之if及switch

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1521 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传