内容简介:注:本文是对和其他编程语言(例如C)相比,Go语音的Compared to other programming languages (such as C), Go's switch-case statement doesn't need explicit "break", and not have fall-though characteristic. Take the following code as an example:
注:本文是对 golang-101-hacks 中文翻译。
和其他编程语言(例如C)相比,Go语音的 switch-case
语句不需要显式的添加“break”,也没有 fall-though
。如下面代码所示:
Compared to other programming languages (such as C), Go's switch-case statement doesn't need explicit "break", and not have fall-though characteristic. Take the following code as an example:
package main import ( "fmt" ) func checkSwitch(val int) { switch val { case 0: case 1: fmt.Println("The value is: ", val) } } func main() { checkSwitch(0) checkSwitch(1) }
输出结果是
The value is: 1
期望当val为0或1时,执行 fmt.Println("The value is: ", val)
,但实际上,该语句只在val为1时生效。为了得到期望结果,有两种方法:
使用fallthrough:
func checkSwitch(val int) { switch val { case 0: fallthrough case 1: fmt.Println("The value is: ", val) } }
(2)将0和1放在同一个的case语句下:
func checkSwitch(val int) { switch val { case 0, 1: fmt.Println("The value is: ", val) } }
与if-else相比,switch语句表达判断更清晰和简单:
package main import ( "fmt" ) func checkSwitch(val int) { switch { case val < 0: fmt.Println("The value is less than zero.") case val == 0: fmt.Println("The value is qual to zero.") case val > 0: fmt.Println("The value is more than zero.") } } func main() { checkSwitch(-1) checkSwitch(0) checkSwitch(1) }
输出结果
The value is less than zero. The value is qual to zero. The value is more than zero.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深度学习框架PyTorch:入门与实践
陈云 / 电子工业出版社 / 2018-1 / 65
《深度学习框架PyTorch:入门与实践》从多维数组Tensor开始,循序渐进地带领读者了解PyTorch各方面的基础知识。结合基础知识和前沿研究,带领读者从零开始完成几个经典有趣的深度学习小项目,包括GAN生成动漫头像、AI滤镜、AI写诗等。《深度学习框架PyTorch:入门与实践》没有简单机械地介绍各个函数接口的使用,而是尝试分门别类、循序渐进地向读者介绍PyTorch的知识,希望读者对PyT......一起来看看 《深度学习框架PyTorch:入门与实践》 这本书的介绍吧!
图片转BASE64编码
在线图片转Base64编码工具
HEX HSV 转换工具
HEX HSV 互换工具