golang中switch的使用

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

switch使用与其他语言类似,一般写法如下。
多个判断条件可以写在同1行,用","分隔,只要满足一个就执行。
defalt表示默认分支,当所有分支都不满足条件则执行default

    var floor int
        floor = 3
    switch floor {
    case 1:
        fmt.Println("您将要到达1楼")
        //多个判断条件可以写在1行,用","分隔,只要满足一个就执行
    case 2,3,4:
        fmt.Println("您将要到达2-4楼")
    case 5:
        fmt.Println("您将要到达:5楼")
    case 6:
        fmt.Println("您将要到达6楼")
    case 7:
        fmt.Println("这是最顶层")
    default:
        fmt.Println("无法到达")
    }

亦可把判断条件写在case后面,例如:

    var floor int
        floor = 3
    switch {
    case  floor >6:
        fmt.Println("您将要到达高层")
    case floor >3:
        fmt.Println("您将要到达中层")
    default:
        fmt.Println("您将要到达低层")
    }

默认每个分支break,fallthrough关键词可以强制执行下一个分支,无论下一个分支条件是否满足。
目前还不明白这个逻辑的适用场景。

    floor := 5
    switch {
    case  floor >3:
        fmt.Println("您将要到达高层")
         //下面的分支无论是否满足条件都会强制执行
        fallthrough
    case floor >6:
        fmt.Println("您将要到达中层")
    default:
        fmt.Println("您将要到达低层")
    }

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

本文来自:简书

感谢作者:七八个星天

查看原文:golang中switch的使用

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

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