go中的嵌套函数[duplicate]

mxg2im7a  于 2022-12-07  发布在  Go
关注(0)|答案(1)|浏览(107)

此问题在此处已有答案

incorrect function declaration syntax error: unexpected cornerFinder, expecting ((1个答案)
15天前关闭。
我正在尝试用Go语言声明函数中的函数:

package main
import "fmt"

func main() {
    func plus(x int, y int) int {
        return x+y
    }
}

而围棋的编译者说:

.\hello.go:6:7: syntax error: unexpected plus, expecting (

当线6是返回线时。
有人能帮我修吗?

9bfwbjaz

9bfwbjaz1#

函数只能在包级声明。如果只想在外部函数中使用它,可以定义一个匿名函数并将其赋给一个变量:

func main() {
    plus := func(x int, y int) int {
        return x+y
    }
}

尽管这种情况的用例相对较少。

相关问题