2025-04-08 17:01:19 +08:00

35 lines
529 B
Go

package main
import "fmt"
func main() {
// 立即执行的匿名函数
func(msg string) {
fmt.Println(msg)
}("立即执行的匿名函数")
// 将匿名函数赋值给变量
greet := func(name string) {
fmt.Printf("Hello, %s!\n", name)
}
greet("Gopher")
// 闭包示例
adder := func() func(int) int {
sum := 0
return func(x int) int {
sum += x
return sum
}
}
// 使用闭包
pos, neg := adder(), adder()
for i := 0; i < 5; i++ {
fmt.Println(
"pos:", pos(i),
"neg:", neg(-2*i),
)
}
}