Golang中的switch比起其他语言的switch更灵活,除了支持常规的切换,如下:

switch i { case 0: fmt.Printf("0") case 1: fmt.Printf("1") case 2: fallthrough case 3: fmt.Printf("3") case 4, 5, 6: fmt.Printf("4, 5, 6") default: fmt.Printf("Default")
} 

运行上面的案例,将会得到如下结果:
i = 0时,输出0;
i = 1时,输出1;
i = 2时,输出3;

i = 3时,输出3;

i = 4时,输出4, 5, 6;
i = 5时,输出4, 5, 6;
i = 6时,输出4, 5, 6;
i = 其他任意值时,输出Default。

这里switch后面的表达式甚至不是必需的,如下代码:

package mainimport("fmt"
)func main(){var score int = 65switch {case 0<=score&&score<60:fmt.Println("failed!!")case 60<=score&&score<80:fmt.Println("good!")case 80<=score&&score<=100:fmt.Println("perfect!!")}
}

没有条件的 switch 同 switch true 一样,这一构造使得可以用更清晰的形式来编写长的 if-then-else 链。

Golang里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallthrough强制执行后面的case代码。


package mainimport "fmt"func main() {switch {case false:fmt.Println("The integer was <= 4")fallthroughcase true:fmt.Println("The integer was <= 5")fallthroughcase false:fmt.Println("The integer was <= 6")fallthroughcase true:fmt.Println("The integer was <= 7")case false:fmt.Println("The integer was <= 8")fallthroughdefault:fmt.Println("default case")}
}

执行结果:

The integer was <= 5The integer was <= 6The integer was <= 7

由此可以看出,switch从第一个expr为true的case开始执行,如果case带有fallthrough,程序会继续执行下一条case,不会再判断下一条case的expr,如果之后的case都有fallthrough,default出会被执行

Go语言switch语句相关推荐

  1. R语言switch语句语法、实战:Switch语句用来处理嵌套的if else处理起来比较困难或者麻烦的条件判断问题

    R语言switch语句语法.实战:Switch语句用来处理嵌套的if else处理起来比较困难或者麻烦的条件判断问题 目录

  2. c语言switch语句程序大全,C语言switch语句

    C语言中的switch语句用于从多个条件执行代码. 就像if else-if语句一样. C语言中switch语句的语法如下: switch(expression){ case value1: //co ...

  3. c语言 switch语句大小,C语言switch语句(板式整齐)

    <C语言switch语句(板式整齐)>由会员分享,可在线阅读,更多相关<C语言switch语句(板式整齐)(38页珍藏版)>请在人人文库网上搜索. 1.switch 语句,1, ...

  4. c语言switch()语句

    c语言switch()语句 以上图片来源:https://wenku.baidu.com/view/41e0bb1ef08583d049649b6648d7c1c708a10bb7.html 感谢大牛 ...

  5. c语言switch scanf语句,c语言switch语句 谢谢·!~!~

    c语言switch语句 谢谢·!~!~以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! c语言switch语句 谢谢·!~ ...

  6. C语言 switch语句来调用函数

    C语言 switch语句来调用函数 如果函数写在主函数后面,则在主函数中必须进行函数声明:如果函数写在主函数前面,可适当不写 getchar只能一个一个的读入字符 switch循环语句中最后必须有de ...

  7. c语言switch有什么作用,c语言switch语句如何使用

    C语言的运用非常之多,它兼顾了高级语言的汇编语言的优点,相较于其它编程语言具有较大优势.那么C语言中的switch语句如何使用呢? C语言switch语句如何使用 switch语句允许测试变量与值列表 ...

  8. C语言 switch语句实现不同分数段划分不同等级

    C语言 switch语句实现不同分数段划分不同等级 设定满分为100分,分为20个case,如果分数小于60,则等级为D,在这之前1-10都是与case11相同,可以全部省略.60~70分等级为C,以 ...

  9. C语言switch 语句

    C语言switch 语句 switch 语句 break switch 语句 C语言还提供了另一种用于多分支选择的 switch 语句, 其一般形式为: switch(表达式){case 常量表达式 ...

  10. c语言 switch案例,C语言switch语句实例

    C语言switch语句实例 引导语:switch 语句用于基于不同的条件来执行不同的动作.以下是百分网小编分享给大家的C语言switch语句实例,欢迎阅读学习! C语言还提供了另一种用于多分支选择的s ...

最新文章

  1. CCRD_TOC_2015_EULAR专刊第二辑
  2. HBase常用功能和HBase+MapReduce使用总结
  3. 《Python 网络数据采集》正则表达式
  4. carsim学习笔记4——路面的一些设置1
  5. Java中BigDecimal解决精度丢失问题
  6. php fsockopen socket,PHP利用socket(fsockopen)的简单示例
  7. vs 窗体连接mysql_vs2008 c#开发windows窗体程序,怎么连接数据库?
  8. java panel frame_Java 版 (精华区)--Frame和Panel的区别【转载】
  9. shell函数可接受不同参数
  10. 构建企业级推荐系统(05):从零开始入门推荐算法工程师(万文建藏)
  11. 怎么下载思维导图模板呢?
  12. 两台电脑用一根网线组建局域网
  13. LED小间距屏幕理解
  14. linux中搜索文件内容关键字
  15. IT运维和自动化运维以及运维开发有啥不同?能解释下吗?
  16. 数商云B2B分销商城系统:助力企业加快分销速度,构建高效智能B2B网上分销平台
  17. AI说人“画” | Heart Broken, 游戏中被AI碾压的我们都中了哪些套路?
  18. PDF转Word非常好的网站
  19. 全新2009高校BBS上温馨笑话
  20. 【控制工程基础】六、根轨迹法

热门文章

  1. 我在离天空最近的城市
  2. uni-app 微信小程序启用组件按需注入
  3. 健美运动员赛前脱水断碳_健美冠军指导书:赛前的去碳与充碳技巧(上)
  4. HDU - 6438 Buy and Resell(思维+ 贪心)
  5. 还在担心零基础绘画?这篇文章让你少走弯路!
  6. Centos8 部署Promethus(普罗米修斯)+grafana画图
  7. Android微信九宫格图片展示控件
  8. SVN常用命令集合_艾孜尔江撰
  9. 新的打卡地诞生!三星家电出没网红咖啡厅
  10. 美团外卖小哥竟开发阿里云盘,抢先首发