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