一架梯子,一头程序猿,仰望星空!
Golang中级特性面试题 > 内容正文

Go 多值返回有什么用?


问题简答

相对其他开发语言,Golang函数支持返回多个值,在一定程度上可以简化代码,其他开发语言例如;PHP、Java等如果希望函数返回多个值,要么把多个返回值封装到一个返回对象里面,要么通过函数参数引用或者指针间接返回多个值。

问题详解:

下面是golang函数返回多值的例子:

package main

import "fmt"

func swap(a int, b int) (int, int) {
    return b, a

}

func main() {
    a := 1
    b := 2

    a, b = swap(a, b)

    fmt.Println(a) // 2
    fmt.Println(b) // 1
}

go 错误处理,通常也是通过函数的最后一个值作为error信息返回。
错误处理例子:

// Do函数,第二个返回值,返回的是error,这里只想检测错误,这里接受第二个参数,忽略第一个参数
_, err := Do()
// 判断错误
if err != nil {
        fmt.Println(err)
}