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

go语言中fallthrough的用法说明

热门标签:外呼系统显本地手机号 阿克苏地图标注 外呼系统用什么卡 excel地图标注分布数据 评价高的400电话办理 电话机器人软件免费 涿州代理外呼系统 百度地图标注后传给手机 寿光微信地图标注

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的用法说明》,本文关键词  语,言中,fallthrough,的,用法,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《go语言中fallthrough的用法说明》相关的同类信息!
  • 本页收集关于go语言中fallthrough的用法说明的相关信息资讯供网民参考!
  • 推荐文章