Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 63.6MB ·虚拟内存 1299.8MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
使用 fallthrough 会强制执行后面的 case 语句,并且不会判断下一条 case 的表达式结果是否为 true。
package main import "fmt" func main() { cond := 1 switch cond { case 1: fmt.Println("1、满足条件 case") fallthrough case 2: fmt.Println("2、不满足条件 case") default: fmt.Println("3、默认 case") } }
以上代码执行结果为:
1、满足条件 case 2、不满足条件 case
从以上代码输出的结果可以看出:switch 满足 case 的第一个判断表达式 ,开始执行,因为 ”case 1“ 语句带有 fallthrough,程序会继续执行下一条 case 语句,且它不会去判断下一个 case 的表达式是否为 true。
执行完 ”case 2“ 语句后,由于 ”default” 语句没有带有 fallthrough,switch 执行结束。
我们再看一个范例:
package main import "fmt" func main() { cond := 1 switch cond { case 1: fmt.Println("1、满足条件 case") fallthrough case 2: fmt.Println("2、不满足条件 case") fallthrough default: fmt.Println("3、默认 case") } }
以上代码执行结果为:
1、满足条件 case 2、不满足条件 case 3、默认 case
因为 ”case 2“ 语句后带有 fallthrough,所以就会继续执行下一条 default 语句。
iota 是 Go 语言的一个保留字,用作常量计数器。iota 具有自增特性,可以简化数字增长的常量定义。iota 是一个具有魔法的关键字,往往令初学者难以理解其原理和使用方法。 1. 书写方法正确写法 ...