Go 语言中的switch分支

switch语句常用于基于大量不同条件来执行不同动作,每一个条件对应一个case分支。
switch语句的执行过程从上至下,直到找到匹配项,匹配项后面也不需要再加break。
每一个switch语句只能包含一个可选的default分支,若没有找到匹配项,会默认执行default分支中的代码块。
Go语言中的switch语法如下:

switch var1 {
	case value1:
		代码块1
	case value2:
		代码块2
	default:
		代码块3
}

变量var1可以是任何类型,但value1和value2必须是相同的类型或最终结果为相同类型的表达式。每个case分支后可跟多个可能符合条件的值,使用逗号分隔它们,例如:case value1,value2,value3。

package main

import "fmt"

func main() {
	switch 1+1 {
		case 1:
			fmt.Println("1+1=1")
		case 2:
			fmt.Println("1+1=2")
		case 3:
			fmt.Println("1+1=3")
		default:
			fmt.Println("1+1不等于1或2或3")
	}
}

执行结果如下:

1+1=2

默认情况下,switch匹配成功后就不会执行后续其他case,如果我们需要无条件强制执行后面的 case,可以使用fallthrough关键字。

package main

import "fmt"

func main() {
	switch {
		//false,肯定不会执行
		case false: 
			fmt.Println("case 1为false")
			fallthrough
		//true,肯定执行
		case true: 
			fmt.Println("case 2为 true")
			fallthrough
		//由于上一个case中有fallthrough,即使是false,也强制执行
		case false: 
			fmt.Println("case 3为 false")
			fallthrough
		default:
			fmt.Println("默认 case")
		}
}

执行结果如下:

case 2为 true
case 3为 false
默认 case

上述示例中,switch语句省略了条件表达式,表达式由下面的case给出。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值