Golang返回功能
发布时间:2020-12-16 09:28:22 所属栏目:大数据 来源:网络整理
导读:Can anyone explain why 0’s and 1’s are printed and not anything else? Thank you! func makeFunction(name string) func() { fmt.Println("00000") return func() { makeFunction2("abcef") }}func makeFunction2(name string) func() { fmt.Println("
func makeFunction(name string) func() { fmt.Println("00000") return func() { makeFunction2("abcef") } } func makeFunction2(name string) func() { fmt.Println("22222") return func() { makeFunction3("safsf") } } func makeFunction3(name string) func() { fmt.Println("33333") return func() { fmt.Printf("444444") } } func main() { f := makeFunction("hellooo") f() } 任何人都可以解释为什么0和1是打印而不是其他什么?谢谢! 解决方法
让我们来看看你的主要内容:
第1行 f := makeFunction("hellooo") >副作用:打印“00000” 第2行 f() 这相当于: _ = f() >副作用:打印“22222” makeFunction3永远不会分配给任何标识符,也永远不会被调用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |