这是一个很好的机会去介绍函数支持多值返回。查看下面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 { }
你会常常遇见函数返回多个值。你也会经常使用_去丢弃一个值。具名返回值和不详细的参数声明并不常见。但是迟早你都会遇到,所以了解他们是很重要的。
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8