这里写一些 GO 语言的题目。可能面试中会用到

1.闭包问题

原文链接:https://studygolang.com/interview/question

这是GO 语言爱好者周刊第 90 期的一道题目。以下代码输出什么?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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:Hi All;B:Hi go All;C:Hi;D:go All

__END__