英文:
nested functions in go
问题
我正在尝试在Go语言中声明一个嵌套函数:
package main
import "fmt"
func main() {
func plus(x int, y int) int {
return x+y
}
}
但是Go编译器报错:
.\hello.go:6:7: 语法错误: 意外的 plus,期望 (
错误出现在第6行的 return 语句。
有人可以帮我修复吗?
英文:
I am trying to declear func in func in go language:
package main
import "fmt"
func main() {
func plus(x int, y int) int {
return x+y
}
}
And the go compiler say:
.\hello.go:6:7: syntax error: unexpected plus, expecting (
when line 6 is the line of the return.
Can someone help me fix it?
答案1
得分: 1
函数只能在包级别声明。如果你只想在外部函数内使用它,可以定义一个匿名函数并将其赋值给一个变量:
func main() {
plus := func(x int, y int) int {
return x+y
}
}
尽管这种用法相对较少见。
英文:
Functions can only be declared at the package level. You could define an anonymous function and assign it to a variable if you only want to use it within the outer function:
func main() {
plus := func(x int, y int) int {
return x+y
}
}
Though use cases for this are relatively rare.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论