

新闻资讯
技术教程Go语言匿名函数无需命名,可立即执行、赋值调用或作为参数传递,支持闭包,适用于一次性逻辑、作用域隔离及高阶函数场景。
Go语言中的匿名函数是定义临时逻辑的简洁方式,无需提前声明函数名,适合一次性使用、闭包场景或作为参数传递。
匿名函数可以定义后立刻调用,常用于初始化、局部作用域隔离或避免污染命名空间。
()
示例:
func() { fmt.Println("Hello, world!") }()把匿名函数赋给一个变量(通常是 func 类型),后续可像普通函数一样调用。
示例:
add := func(a, b int) int { return a + b }Go标准库(如 sort.Slice、strings.FieldsFunc)和自定义函数常接受函数类型参数,匿名函数是最自然的传入方式。
示例(按字符串长度排序):
names := []string{"Alice", "Bob", "Charlie"}匿名函数能访问并记住其定义时所在作用域的变量,这是实现计数器、配置工厂、延迟计算等模式的关键。
示例(带初始值的累加器):
newCounter := func(start int) func() int {