Go语言中的fallthrough使用

在switch ... case ... 使用过程中,Go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallthrough强制执行后面的case代码。

switch的注意事项

  1. case后的常量值不能重复
  2. case后可以有多个常量值
  3. fallthrough应该是某个case的最后一行。如果它出现在中间的某个地方,编译器就会抛出错误。

 代码示例:

package main

import "fmt"

func main() {
	/*
	switch中的break和fallthrough语句
	break:可以使用在switch中,也可以使用在for循环中
		强制结束case语句,从而结束switch分支

	fallthrough:用于穿透switch
		当switch中某个case匹配成功之后,就执行该case语句
		如果遇到fallthrough,那么后面紧邻的case,无需匹配, 执行穿透执行。

		fallthrough应该位于某个case的最后一行
	 */
	  n := 2
	switch n {
	case 1:
		fmt.Println("我是熊大")
		fmt.Println("我是熊大")
		fmt.Println("我是熊大")
	case 2:
		fmt.Println("我是熊二")
		fmt.Println("我是熊二")
		break //用于强制结束case,意味着switch被强制结束
		fmt.Println("我是熊二")
	case 3:
		fmt.Println("我是光头强")
		fmt.Println("我是光头强")
		fmt.Println("我是光头强")
	}

	fmt.Println("-----------------")
	m := 2
	switch m {
	case 1:
		fmt.Println("第一季度。。")
	case 2:
		fmt.Println("第二季度。。")
		fmt.Println("...")
		fallthrough//如需贯通后续的case,就添加fallthrough
		//fallthrough应该是某个case的最后一行。如果它出现在中间的某个地方,编译器就会抛出错误。
	case 3:
		fmt.Println("第三季度。。")
		fallthrough
	case 4:
		fmt.Println("第四季度。。")


	}
	fmt.Println("main...over...")
}

switch中的break和fallthrough语句的区别:
    break:可以使用在switch中,也可以使用在for循环中
        强制结束case语句,从而结束switch分支

    fallthrough:用于穿透switch
        当switch中某个case匹配成功之后,就执行该case语句
        如果遇到fallthrough,那么后面紧邻的case,无需匹配, 执行穿透执行。

        fallthrough应该位于某个case的最后一行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大熊的饲养员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值