主页 > 知识库 > go语言中fallthrough的用法说明

go语言中fallthrough的用法说明

热门标签:呼叫中心市场需求 网站排名优化 百度竞价排名 Linux服务器 服务外包 地方门户网站 AI电销 铁路电话系统

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

示例程序1:

switch {
    case false:
        fmt.Println("The integer was = 4")
        fallthrough
    case true:
        fmt.Println("The integer was = 5")
        fallthrough
    case false:
        fmt.Println("The integer was = 6")
        fallthrough
    case true:
        fmt.Println("The integer was = 7")
        fallthrough
    case false:
        fmt.Println("The integer was = 8")
    default:
        fmt.Println("default case")
    }

输出结果:

The integer was = 5

The integer was = 6

The integer was = 7

The integer was = 8

问题:是否在switch最后一个分支使用fallthrough???

有错误提示,显示:cannot fallthrough final case in switch

fallthrough不能用在switch的最后一个分支。

示例程序2:

上述示例是true、false常量进行分支判断,看如下变量示例。

s := "abcd"
    switch s[1] {
    case 'a':
        fmt.Println("The integer was = 4")
        fallthrough
    case 'b':
        fmt.Println("The integer was = 5")
        fallthrough
    case 'c':
        fmt.Println("The integer was = 6")
    default:
        fmt.Println("default case")
    }

输出结果如下:

The integer was = 5

The integer was = 6

更改为:

s := "abcd"
    switch s[3] {
    case 'a':
        fmt.Println("The integer was = 4")
        fallthrough
    case 'b':
        fmt.Println("The integer was = 5")
        fallthrough
    case 'c':
        fmt.Println("The integer was = 6")
    default:
        fmt.Println("default case")
    }

输出:

default case

总结:

switch分支中使用变量进行判断的时,fallthrough正确的分支开始其作用。

补充:【踩坑】golang的fallthrough大坑

加了fallthrough后,会直接运行【紧跟的后一个】case或default语句,不论条件是否满足都会执行,后面的条件并不会再判断了,?

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

您可能感兴趣的文章:
  • Golang 编译成DLL文件的操作
  • golang调用c实现的dll接口细节分享
  • Golang如何调用windows下的dll动态库中的函数
  • go mod 使用私有gitlab群组的解决方案
  • django将图片保存到mysql数据库并展示在前端页面的实现
  • golang实践-第三方包为私有库的配置方案
  • 解决go mod私有仓库拉取的问题

标签:湖南 铜川 兰州 衡水 仙桃 黄山 湘潭 崇左

巨人网络通讯声明:本文标题《go语言中fallthrough的用法说明》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266