《Go语言编程》一书中【2.4.1 条件语句】有一处错误,应当是书中使用Go语言版本低于1.1版所致,原文如下:
在有返回值的函数中,不允许将“最终的” return语句包含在if...else... 结构中,
否则会编译失败:
function ends without a return statement。
失败的原因在于, Go编译器无法找到终止该函数的return语句。编译失败的案例如下:
func example(x int) int {
if x == 0 {
return 5
} else {
return x
}
}
1.1版Go语言和之后的新版已经支持if else条件语句直接return返回值。
我使用最新稳定版1.3.3编译和运行该段代码已正常。
本文出自 “松松” 博客,请务必保留此出处http://dongsong.blog.51cto.com/916653/1587809
原文地址:http://dongsong.blog.51cto.com/916653/1587809