Go语言 匿名函数

 

 1//定义成全局的匿名函数
 2var(
 3	result=func (a,b int) int {
 4		return a+b
 5	}
 6)
 7
 8func test(a, b int) int {
 9	//匿名函数
10	result := func(a1, b1 int) int {
11		return a1 + b1
12	}(a, b) //最后的小括号是调用 里面是调用参数
13
14	return result
15}
16func test1(a, b int) int {
17	//匿名函数
18	result := func(a1, b1 int) int {
19		return a1 + b1
20	}
21	//也可以不带最后的括号用 result调用
22	return result(a, b)
23}
24
25func main() {
26	//调用方式一样
27	fmt.Println(test(100, 200))
28	fmt.Println(test1(100, 200))
29	//调用全局匿名函数
30	fmt.Println(result(100,200))
31}