2022-09-06:以下go语言代码输出什么?A:Hi All;B:Hi go All;C:Hi;D:go All。
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是无关的。