• 1.8 函数声明
    • 链接

    1.8 函数声明

    这是一个很好的机会去介绍函数支持多值返回。查看下面3个函数:一个没有返回值,一个返回一个值,一个返回2个值。

    1. func log(message string) {
    2. }
    3. func add(a int, b int) int {
    4. }
    5. func power(name string) (int, bool) {
    6. }

    我们常常这样使用最后一种函数:

    1. value, exists := power("goku")
    2. if exists == false {
    3. // 处理出错情况
    4. }

    如果你只想获得返回值中的某个值,这种情况下,你可以将另外一个返回值赋给_:

    1. _, exists := power("goku")
    2. if exists == false {
    3. // 处理出错情况
    4. }

    这不仅仅是一种约定。_是一个空白标识符,尤其在用在返回值时它没有真正的赋值。你可以一直使用_,无论返回值是什么类型。

    最后,你可能遇到一些不同的函数声明方式,即如果函数的参数都是相同的类型,那么可以使用以下的简洁方式定义:

    1. func add(a, b int) int {
    2. }

    你会常常遇见函数返回多个值。你也会经常使用_去丢弃一个值。具名返回值和不详细的参数声明并不常见。但是迟早你都会遇到,所以了解他们是很重要的。

    链接

    • 目录
    • 上一节:函数声明
    • 下一节:继续之前