在 go 中,创建带有命名字段返回值的匿名函数的语法为:func(param1 type1, param2 type2, ...) (result1 type1, result2 type2, ...) { 函数体 },返回类型通过命名字段指定,示例为 multiply 函数,其返回 product 和 err 两个命名字段。
在 Golang 中创建带有命名返回值的匿名函数
在 Golang 中,匿名函数(也称为 lambda 函数)可以通过使用 func 关键字和返回类型的缩写语法来创建。当需要使用具有特定返回值的匿名函数时,可以使用命名字段的返回类型。
语法:
立即学习“go语言免费学习笔记(深入)”;
func(param1 type1, param2 type2, ...) (result1 type1, result2 type2, ...) {
// 函数体
}
返回类型:
如果函数需要返回多个值,可以使用命名字段的返回类型。每个命名字段必须具有明确的类型,这些类型将在返回元组中按顺序出现。
实战示例:
下面是一个使用命名返回值的匿名函数的实战示例:
package main
import "fmt"
func main() {
// 创建一个匿名函数,返回两个带命名字段的值
multiply := func(a, b int) (product int, err error) {
product = a * b
if product < 0 {
err = fmt.Errorf("负数结果")
}
return
}
// 调用匿名函数,接收命名字段的值
result, err := multiply(10, 20)
if err != nil {
fmt.Println(err)
} else {
fmt.Println("结果:", result)
}
}
输出:
结果: 200
在本例中,匿名函数 multiply 返回两个命名字段:product 和 err。product 字段包含两数之积,而 err 字段如果结果为负数则包含一个错误。