go语言中fallthrough的用法说明
作者:腾信@迪克猪 时间:2024-04-23 09:33:47
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语句,不论条件是否满足都会执行,后面的条件并不会再判断了,?
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://www.cnblogs.com/zsy/p/6741902.html
标签:go,fallthrough
0
投稿
猜你喜欢
python通过pil模块获得图片exif信息的方法
2021-08-26 14:31:21
一文轻松掌握python语言命名规范规则
2023-03-23 02:11:43
django框架模型层功能、组成与用法分析
2021-10-21 22:00:28
微软建议的ASP性能优化28条守则(5)
2008-02-27 13:54:00
永恒之蓝实战教程之Mac通过Metasploit攻击Server2008的详细过程
2022-08-01 05:41:26
Python批量转换文件编码格式
2021-10-07 05:01:22
MySQL关于字符串中数字排序的问题分析
2024-01-21 23:30:18
Python类属性与实例属性用法分析
2022-10-12 03:14:58
MYSQL server has gone away解决办法
2010-11-25 17:22:00
解决python中使用plot画图,图不显示的问题
2021-09-27 16:00:07
python读写ini文件示例(python读写文件)
2023-06-21 03:10:14
Python网络编程详解
2022-01-09 15:25:10
教你用Python写一个植物大战僵尸小游戏
2021-07-19 22:59:37
Python模块汇总(常用第三方库)
2023-05-21 16:25:37
python 合并多个excel中同名的sheet
2023-06-06 08:34:27
深入了解Python中的变量类型标注
2023-02-01 09:06:37
2022最新版MySQL 8.0.30 安装及配置教程(小白入门)
2024-01-28 16:49:49
sqlserver下Kill 所有连接到某一数据库的连接
2024-01-21 18:05:51
python导入csv文件出现SyntaxError问题分析
2023-12-12 04:29:57
Python实现根据Excel生成Model和数据导入脚本
2022-01-10 09:58:12