Go语言中灵活的switch

本文介绍了Go语言中switch语句的特性和用法,包括默认包含break,如何使用fallthrough强制执行后续case,以及如何在switch中进行条件初始化和判断。示例代码展示了不同类型的switch结构及其应用。
摘要由CSDN通过智能技术生成

Go的switch不用break(默认后面有break,写不写都一样,满足条件都会跳出当前switch,不会一直case下去)
在这里插入图片描述
Go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallthrough强制执行后面的case代码

var score int = 90

    switch score {
    case 90:
        fmt.Println("优秀")
        //fallthrough
    case 80:
        fmt.Println("良好")
        //fallthrough
    case 50, 60, 70:
        fmt.Println("一般")
        //fallthrough
    default:
        fmt.Println("差")
    }

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
中间有阻断的话就不会一直向下走)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
8行是取地址n
还可以使用任何类型或表达式作为条件语句:

//1
    switch s1 := 90; s1 { //初始化语句;条件
    case 90:
        fmt.Println("优秀")
    case 80:
        fmt.Println("良好")
    default:
        fmt.Println("一般")
    }
 //2
    var s2 int = 90
    switch { //这里没有写条件
    case s2 >= 90: //这里写判断语句
        fmt.Println("优秀")
    case s2 >= 80:
        fmt.Println("良好")
    default:
        fmt.Println("一般")
    }

    //3
    switch s3 := 90; { //只有初始化语句,没有条件
    case s3 >= 90: //这里写判断语句
        fmt.Println("优秀")
    case s3 >= 80:
        fmt.Println("良好")
    default:
        fmt.Println("一般")
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值