这是一个很好的机会去介绍函数支持多值返回。查看下面3个函数:一个没有返回值,一个返回一个值,一个返回2个值。
func log(message string) {
}
func add(a int, b int) int {
}
func power(name string) (int, bool) {
}
我们常常这样使用最后一种函数:
value, exists := power("goku")
if exists == false {
// 处理出错情况
}
如果你只想获得返回值中的某个值,这种情况下,你可以将另外一个返回值赋给_
:
_, exists := power("goku")
if exists == false {
// 处理出错情况
}
这不仅仅是一种约定。_
是一个空白标识符,尤其在用在返回值时它没有真正的赋值。你可以一直使用_
,无论返回值是什么类型。
最后,你可能遇到一些不同的函数声明方式,即如果函数的参数都是相同的类型,那么可以使用以下的简洁方式定义:
func add(a, b int) int {
}
你会常常遇见函数返回多个值。你也会经常使用_
去丢弃一个值。具名返回值和不详细的参数声明并不常见。但是迟早你都会遇到,所以了解他们是很重要的。