当我将一个函数赋给变量并尝试调用它时。它会引发一个错误,即返回'
的参数太多package main
import "fmt"
func main() {
first_name := "Hello"
last_name := "World!"
full_name := func() {
return first_name
}
fmt.Println(first_name)
fmt.Println(last_name)
fmt.Println(full_name)
}
答案 0 :(得分:3)
您需要将功能定义更改为以下内容:
full_name := func() string {
return first_name
}
你是怎么告诉Go你打算从函数中返回一些东西以及那是什么东西(在这种情况下是一个字符串)。
之后您应该像这样调用新创建的函数:
fmt.Println(full_name())
答案 1 :(得分:1)
你没有正确宣布你的功能。
full_name := func() string{ // add a return type
return first_name
}
即使是匿名函数,也必须声明参数和返回值。由于您未指定任何返回值,因此无法使用return xx
。
另外,请注意fmt.Println(full_name)
将返回函数的地址,而不是执行函数。请改为fmt.Println(full_name())
。