2022-09-06:以下go语言代码输出什么?A:Hi All;B:Hi go All;C:Hi;D:go All。packa

2022-11-06 10:12:42 浏览数 (1)

2022-09-06:以下go语言代码输出什么?A:Hi All;B:Hi go All;C:Hi;D:go All。

代码语言:javascript复制
package main


import "fmt"


func app() func(string) string {
    t := "Hi"
    c := func(b string) string {
        t = t   " "   b
        return t
    }
    return c
}


func main() {
    a := app()
    b := app()
    a("go")
    fmt.Println(b("All"))
}

答案选A。自然智慧即可。t虽然是闭包,但也是a和b里的局部变量,所以a和b里的t是无关的。

0 人点赞