golang中的匿名函数
1.匿名函数介绍
golang支持匿名函数,如果某些函数仅想在特定位置使用一次,那么可以考虑使用匿名函数。
匿名函数也可以实现多次调用。
2.匿名函数使用方式
2.1定义时直接调用
示例代码:
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello World!");
//匿名函数使用方式1:定义时直接调用。
//(num1 int,num2 int),形参前不写函数名,并在函数后直接调用。
res := func (num1 int,num2 int) int {
return num1 + num2
}(2,3)
fmt.Printf("res的值为:%v",res)
}
结果:
2.2将匿名函数赋值给一个变量
示例代码:
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello World!");
//匿名函数使用方式2:将匿名函数赋值给变量,使用变量调用。
add := func (num1 int,num2 int) int {
return num1 + num2
}
//通过函数变量 调用函数。
res := add(2,3)
fmt.Printf("add的类型为:%T,res的值为:%v",add,res)
}
结果:
add的类型为 函数 func(int,int) int 类型。
2.3定义全局匿名函数
package main
import (
"fmt"
)
//匿名函数使用方式3:将函数赋值给全局变量。
var Add = func (num1 int,num2 int) int{
return num1 + num2
}
func main() {
fmt.Println("Hello World!");
res := Add(2,3)
fmt.Printf("Add全局变量的类型:%T,res的类型:%T,res的值为:%v",Add,res,res)
}
结果: