对不起,Go还是一个新手。我想写一个闭包:
https://play.golang.org/p/qz-8WFh0mv
package main
import "log"
func myfunc(a int) bool{
func otherfunc(b int) bool{
return false
}
log.Println(otherfunc(2))
return true
}
func main() {
myfunc(1)
log.Println("here")
}
Python中的类似功能可行。为什么这不适用于Go?
答案 0 :(得分:1)
您需要将内部函数定义为局部变量。试试这个
func myfunc(a int) bool {
otherfunc := func(b int) bool {
return false
}
log.Println(otherfunc(2))
return true
}
顺便说一下。 otherfunc := func(b int) bool {
是var otherfunc func(int) bool = func(b int) bool {
看看这些例子