go语言笔记(四)匿名函数
程序员文章站
2023-12-21 21:34:58
...
go语言笔记(四)匿名函数
匿名函数
go支持匿名函数,如果某个函数只希望使用一次,可以考虑使用匿名函数。但匿名函数也可以实现多次调用。
使用方式
直接调用(一次性)
package main
import (
"fmt"
"reflect"
)
func main() {
res := func(n1 int, n2 int) int {
return n1 + n2
}(10, 20)
fmt.Println(res)
fmt.Println(reflect.TypeOf(res))
}
/*
30
int
*/
//从结果可以看出,res此时只是被匿名函数运行后得到的整型结果赋值,因此是整型int
赋值给变量调用
package main
import (
"fmt"
"reflect"
)
func main() {
res := func(n1 int, n2 int) int {
return n1 + n2
}//注意此处我们没有立即给函数赋予形参
fmt.Println(res(10,20))
fmt.Println(reflect.TypeOf(res))
}
/*
30
func(int, int) int
*/
//此时res是一个函数类型的变量,可以通过它多次对匿名函数进行调用!
在本案例中,我们是在main函数中将匿名函数赋值给了main中的局部变量res,作用域只包含main函数。
同样道理,我们也可以将匿名函数赋值给全局变量,这样我们就可以在全局调用匿名函数了。