当我将一个函数分配给变量并尝试调用它时。它会引发错误“返回的参数太多”package mainimport "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)}
2 回答
青春有我
TA贡献1784条经验 获得超8个赞
您需要将函数定义更改为以下内容:
full_name := func() string {
return first_name
}
这就是你告诉 Go 你打算从函数返回一些东西的方式,以及它是什么(在这种情况下是一个字符串)。
然后你应该像这样调用你新创建的函数:
fmt.Println(full_name())
白衣非少年
TA贡献1155条经验 获得超0个赞
您没有正确声明您的函数。
full_name := func() string{ // add a return type
return first_name
}
即使对于匿名函数,也必须声明参数和返回值。由于您没有指定任何返回值,因此您不能使用return xx.
另外,请注意,fmt.Println(full_name)将返回函数的地址,而不是执行函数。试试吧fmt.Println(full_name())。
- 2 回答
- 0 关注
- 302 浏览
添加回答
举报
0/150
提交
取消