当你做
var someFunc = func(arg string) {}您正在为该
somefunc变量分配匿名函数。您也可以这样写:
somefunc := func(arg string) {}创建函数的另一种方法是创建一个命名函数:
func somefunc(arg string) {}命名函数只能在顶层声明,而匿名函数可以在任何地方声明。并
main有特殊的意义,必须有所谓的命名函数
main的
main包,这就是为什么你有在第二种情况下的错误。

当你做
var someFunc = func(arg string) {}您正在为该
somefunc变量分配匿名函数。您也可以这样写:
somefunc := func(arg string) {}创建函数的另一种方法是创建一个命名函数:
func somefunc(arg string) {}命名函数只能在顶层声明,而匿名函数可以在任何地方声明。并
main有特殊的意义,必须有所谓的命名函数
main的
main包,这就是为什么你有在第二种情况下的错误。