-
匿名函数就是没有名字的函数,通常用于一次性使用的场景,比如回调函数、立即执行函数表达式(IIFE)等。
-
匿名函数可以是普通函数,也可以是箭头函数。
-
匿名函数也可以赋值给一个变量,这样就可以通过变量名来调用这个函数了。(可实现多次调用)
一、使用方式
使用方式1:定义完匿名函数时就调用
package main
import "fmt"
func main() {
res := func(x int)int {
fmt.Println("Hello, World!")
return x++
}(10) // 定义完匿名函数时就调用,并传入参数10
fmt.Println("res:", res)
}
使用方式2:将匿名函数赋值给一个变量,通过变量来调用匿名函数
package main
import "fmt"
func main() {
add := func(x, y int) int { // 将匿名函数赋值给变量add
return x + y
}
res := add(3, 5) // 通过变量add来调用匿名函数
fmt.Println("res:", res)
}
使用方式3: 全局匿名函数
package main
import "fmt"
var globalFunc = func() { // 定义一个全局匿名函数 ---- (当前包才能用)
fmt.Println("This is a global anonymous function.")
}
var Cal = func(x int, y int) int { // 定义一个全局匿名函数----(当前包和其他包都能用)
fmt.Println("This is a global anonymous function.")
return x + y
}
func main() {
globalFunc() // 调用全局匿名函数
res := Cal(10, 20) // 调用全局匿名函数
fmt.Println("res:", res)
}