一、基本介绍
Go支持匿名函数,如果我们某个函数只是希望使用一次,可以考虑使用匿名函数,匿名函数也可以实现多次调用。
二、匿名函数使用方式
1、匿名函数使用方式1
在定义匿名函数时就直接调用, 【如下案例演示】
2、匿名函数使用方式2
将匿名函数赋给一个变量(函数变量),再通过该变量来调用匿名函数 【如下案例演示】
3、全局匿名函数
如果将匿名函数赋给一个全局变量,那么这个匿名函数,就成为一个全局匿名函数,可以在程序有效。 【如下案例演示】
// 在定义匿名函数时就直接调用
func Anonymous1(n1 ,n2 int) int {
/*定义匿名函数
func (num1 ,num2 int) int {
return num1 + num2
}
*/
res := func (num1 ,num2 int) int {
return num1 + num2
}(n1,n2)
return res
}
// 将匿名函数赋给一个变量(函数变量),再通过该变量来调用匿名函数
func Anonymous2(n1 ,n2 int) int {
Anony := func (num1 ,num2 int) int {
return num1 + num2
}
return Anony(n1,n2)
}
// 如果将匿名函数赋给一个全局变量,那么这个匿名函数,就成为一个全局匿名函数,可以在程序有效。
var Anonymous3 = func (n1 ,n2 int) int {
return n1+n2
}
func main(){
res1 := utils.Anonymous1(1,2)// 在定义匿名函数时就直接调用
fmt.Println(res1)
fmt.Println("-----------------------")
res2 :=utils.Anonymous2(1,2)// 将匿名函数赋给一个变量(函数变量),再通过该变量来调用匿名函数
fmt.Println(res2)
fmt.Println("-----------------------")
res3 :=utils.Anonymous3(1,2)//全局匿名函数
fmt.Println(res3)
fmt.Println("-----------------------")
}