为了账号安全,请及时绑定邮箱和手机立即绑定

go语言switch语句用法

标签:
Go

switch是最灵活的一种控制语句,在使用switch时候,需要注意:

    --左花括号"{"必须与switch处于同一行

    --条件表达式不限制为常量或者整数

    --单个case中,可以出现多个结果选项

    --与C语言等规则相反,G0语言不需要break来明确退出一个case

    --只有在case中明确添加fallthrough关键字,才会继续执行紧跟的下一个case

    --可以不设定switch之后的条件表达式,在此种情况下,整个switch结构与多个if....else的逻辑作用等同

    --可以有任意数量的case语句在switch内,每个case后跟值进行比较,以及一个冒号

    --在switch语句中使用的表达式必须具有整体或布尔表达式,或者是一个类型,如果表达式不通过,默认值为true

    --constant-expression的情况,必须是相同的数据类型,在switch的变量,它必须是一个常量或文字

    --switch语句可有一个可选的default,它必须出现在switch语句的末尾,default可用于在没有任何case为真时执行任务,default之后不需要break语句


egg1:


package main
import "fmt"
func main() {
    var grade string = "A"
    switch {
    case grade == "A":
        fmt.Printf("Good....\n")
    case grade == "B":
        fmt.Printf("Well Done....\n")
    case grade == "C":
        fmt.Printf("Ok....")
    default:
        fmt.Printf("iNVALID grade....\n")
    }
    fmt.Printf("Your grade is %s\n", grade)
}

egg2:


package main
import "fmt"
func main() {
    switch a := 1; {
    case a >= 0:
        fmt.Printf("a>=0")
        fallthrough //如果不加这个只会打印a>=0,不会执行后面的a>=1的语句,若要让每个case都判断,都要在case 后面加 fallthrough
    case a >= 1:
        fmt.Printf("a=1")
    default:
        fmt.Printf("not found...")
    }
}

##需要注意的是跟在switch属于局部的变量,只能在内部实现访问,若要全局必须在switch外部

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消