概述: Golang 函数如何返回多个变量

与 C/C++ 和 JAVA 不同,Go 语言的函数和方法可以有多个返回值,这是 Go 提供的一个优美的特性,示例如下:

package Divide
import "errors"
 
func divide (a int, b int) (num int, err error){ //定义两个返回值
    if b == 0 {
        err = errors.New("被除数不能为零!")
        return
    }
    return a / b, nil   //支持多个返回值
}

匿名函数

在 Go 语言中,你可以在代码里随时定义匿名函数,匿名函数由一个不带函数名的函数声明和函数体组成,示例如下:

func (a, b, c int) bool {
    return a * b < c
}

你可以将匿名函数直接赋值给一个变量,也可以直接调用运行,示例如下:

x := func (a, b, c int) bool {
    return a * b < c
}
 
func (a, b, c int) bool {
    return a * b < c
} (1, 2, 3) //小括号内直接给参数列表表示函数调用