返回顶部
首页 > 资讯 > 后端开发 > GO >go语言中fallthrough的用法说明
  • 293
分享到

go语言中fallthrough的用法说明

fallthroughGOgo语言 2022-06-07 20:06:07 293人浏览 泡泡鱼
摘要

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

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语句,不论条件是否满足都会执行,后面的条件并不会再判断了,?

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


您可能感兴趣的文档:

--结束END--

本文标题: go语言中fallthrough的用法说明

本文链接: https://lsjlt.com/news/30628.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • go语言中fallthrough的用法说明
    fallthrough:Go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallt...
    99+
    2022-06-07
    fallthrough GO go语言
  • Go语言Handler详细说明
    Multiplexer根据URL将请求路由给指定的Handler。Handler用于处理请求并给予响应。更严格地说,用来读取请求体、并将请求对应的响应字段(respones head...
    99+
    2024-04-02
  • R语言中qplot()函数的用法说明
    ggplot2()函数 ggplot2是一个强大的作图工具,它可以让你不受现有图形类型的限制,创造出任何有助于解决你所遇到问题的图形。 qplot() qplot()属于ggplot...
    99+
    2024-04-02
  • R语言中quantile()函数的用法说明
    在R语言中取百分位比用quantile()函数,下面举几个简单的示例: 1、求某个百分位比 > data <- c(1,2,3,4,5,6,7,8,9,10) >...
    99+
    2024-04-02
  • R语言中cut()函数的用法说明
    R语言cut()函数使用 cut()切割将x的范围划分为时间间隔,并根据其所处的时间间隔对x中的值进行编码。 参数:breaks:两个或更多个唯一切割点或单个数字(大于或等于2)的数...
    99+
    2024-04-02
  • go语言中iota和左移右移的使用说明
    在go语言中iota比较特殊,是一个被编译器修改的常量,在每一个const关键字出现时被重置为0,然后在下一个const出现之前,每出现一次iota,其所代表的数字就会自动加1...
    99+
    2022-06-07
    GO go语言
  • R语言中do.call()的使用说明
    简单参数设置就能搞定的事情,是不会用到do.call的。 在运用R的过程中总会碰到这样一类函数,它们接受的参数数量可以是任意的,该函数会处理这些参数,并返回处理结果。 最简单的例子就...
    99+
    2024-04-02
  • R语言 title()函数的参数用法说明
    如下所示: title(main = NULL, sub = NULL, xlab = NULL, ylab = NULL, line = NA, outer = FALS...
    99+
    2024-04-02
  • C语言中反斜杠的作用及说明
    目录C语言中反斜杠的作用1.在宏定义中2.在字符串常量中3.另外在普通的语句中斜杠,双斜杠,反斜杠与双反斜杠1. 斜杠2. 双斜杠3. 反斜杠4.双反斜杠C语言中反斜杠的作用 反斜杠...
    99+
    2024-04-02
  • Go语言metrics应用监控指标基本使用说明
    目录metrics 是什么?五种 Metrics 类型metrics 是什么? 当我们需要为某个系统某个服务做监控、做统计,就需要用到Metrics 五种 Metrics 类型 Ga...
    99+
    2024-04-02
  • R语言拼接字符串_paste的用法说明
    R中自带的字符串连接的函数是paste。 先来看一下官方文档里对paste用法的解释: 基本格式: paste (…, sep = " ", collapse = NULL) ...
    99+
    2024-04-02
  • R语言 data.frame()命令的使用说明
    同expand.grid() 一样,data.frame() 也是一个生产数据框的命令 不同的是,两者产生的结果,要求不一样 data.frame() 的命令,如 data.fr...
    99+
    2024-04-02
  • C语言中的+=运算符详细说明
    +=运算符是c语言中的复合赋值运算符,用于将变量值与表达式相加,语法为:变量 += 表达式;它先计算表达式值,再将结果与变量当前值相加,将计算结果存储回变量中,常用于累加变量值或更新数值...
    99+
    2024-04-03
    c语言 +=
  • mybatis中sql语句CDATA标签的用法说明
    sql语句CDATA标签的用法 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。 在 XML 元素中,"<" 和 ...
    99+
    2024-04-02
  • python中的plt.cm.Paired用法说明
    plt.cm中cm全称表示colormap paired表示两个两个相近色彩输出,比如浅蓝、深蓝 ;浅红、深红;浅绿,深绿这种。 补充:【python】plt.cm.Spectral,颜色分配 plt.cm.Spec...
    99+
    2022-06-02
    python plt.cm.Paired
  • python 中sys.getsizeof的用法说明
    科班出身的码畜一直被灌输一条上帝圣经:“一个int占4个字节,一个char占1个字节,一个float占4个字节。。。”, 今天看下了python的getsizeof函数,发现python中各个基本数据类型(对象)占用...
    99+
    2022-06-02
    python sys.getsizeof
  • Python中sub()的用法说明
    Python来进行查询和替换一个文本字符串? 可以使用sub()方法来进行查询和替换,sub方法的格式为: sub(replacement, string[, count=0])...
    99+
    2024-04-02
  • pytorch中[..., 0]的用法说明
    在看程序的时候看到了x[…, 0]的语句不是很理解,后来自己做实验略微了解,以此记录方便自己查看。 b=torch.Tensor([[[[10,2],[4,5],[7,8]],[...
    99+
    2024-04-02
  • R语言 Factor类型的变量使用说明
    factor类型的创建 1. factor( ) > credit_rating <- c("BB", "AAA", "AA", "CCC", "AA", "AAA"...
    99+
    2024-04-02
  • Go语言中defer语句的用法
    可以用作一些资源的释放。 1.在一个函数内的defer执行顺序是先写的后执行,后写的先执行(遵循栈结构) func DeferTest1(){ defer fmt.Printl...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作