介绍
go支持匿名函数,如果我们某个函数只是希望使用一次,可以考虑使用匿名函数,匿名函数也可以实现多次调用。
1)匿名函数使用方式1
在定义匿名函数时就直接调用。
2)匿名函数使用方式2
将匿名函数赋给一个变量(函数变量),再通过该变量来调用匿名函数。
3)全局匿名函数
如果将匿名函数赋值给一个全局变量,那么这个匿名函数,就称为一个全局匿名函数,可以在整个程序有效。
package main
import (
"fmt"
)
var (
//Func1就是一个全局匿名函数
Fun1 = func(n1 int,n2 int)int{
return n1*n2
}
)
func main(){
// 1)匿名函数使用方式1
// 在定义匿名函数时就直接调用。这种方式匿名函数只能调用一次
res1 := func (n1 int,n2 int) int {
return n1 + n2
}(10,20)
fmt.Println("res1=",res1)
// 2)匿名函数使用方式2
// 将匿名函数赋给一个变量(函数变量),再通过该变量来调用匿名函数。
//将匿名函数func (n1 int,n2 int)int赋值给 a变量
// 则a的数据类型就是函数类型,此时,我们可以通过a完成调用
a :=func (n1 int,n2 int) int{
return n1-n2
}
res2 := a(10,20)
fmt.Println("res2=",res2)
// 3)全局匿名函数
// 如果将匿名函数赋值给一个全局变量,那么这个匿名函数,就称为一个全局匿名函数,可以在整个程序有效。
res3 := Fun1(5,9)
fmt.Println("res3=",res3)
}