在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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 问题:是否在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 更改为: 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正确的分支开始其作用。 |
请发表评论