golang中的switch

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

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")
}

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

本文来自:简书

感谢作者:小刀田田

查看原文:golang中的switch

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

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