1.什么是匿名函数
匿名函数,即没有名字的函数。如果我们只希望一个函数使用一次,这个时候我们便可以优先考虑匿名函数了。当然,匿名函数也能够被多次调用。
2.匿名函数使用方式
1.直接使用
result :=func (a,b int) int {
return a+b
}(2,3)
//定义、调用一步完成
2.赋值给函数类型变量
价值:在一个函数内再定义一个函数
//匿名函数赋值给函数变量
sum :=func(a,b int) int{
return a*b
//此时sum已经成为一个函数变量
//我们可以通过sum来调用该匿名函数
result:=a(10,20)
//此时a可以反复调用
}
3.匿名函数作为返回值
func wrap( str string) func(int ,int) int{
switch str{
case "abcd":
return func(a,b int) int{
return a+b
}
default:
return nil
}
}
4.全局匿名函数
如果一个匿名函数被赋值给一个全局变量,那这个匿名函数就叫做全局匿名函数,在整个程序中都是有效的。
package main
import "fmt"
var(
Sum=func(a,b int) int{
return a+b
}
)
//Sum为全局变量,一个匿名函数赋值给了他
//此时这个Sum就是一个全局匿名函数
//注意变量名首字母要大写才为全局有效
func main(){
result :=Sum(10,20)
fmt.Println(result)
}