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永远不会分配给任何标识符,也永远不会被调用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! | 
