Go语言学习之匿名函数
函数可以分为:匿名函数和普通函数
匿名函数的使用:
匿名函数就是没有名字的函数,它只有函数逻辑体,而没有函数名
定义的格式如下
func(参数列表)(返回参数列表){
函数体
}
一个名字实际上没多大区别,所有使用匿名函数都可以改成普通函数,那么什么情况下会使用匿名函数呢
定义变量名,是一个不难,但是费脑子的事情,对于那种只使用一次的函数,是没必要拥有名字的,所以才有了匿名函数
匿名函数只有短暂的生命,一般都是定义后立即使用
就像这样定义后,立马执行
//把100当作参数传进去 func(data int) { fmt.Println(data) }(100) -------------------------结果------------ 100
或者作为回调函数使用:
// 第二个参数为函数 func visit(list []int, f func(int)) { for _, v := range list { // 执行回调函数 f(v) } } func main() { // 使用匿名函数直接做为参数 visit([]int{1, 2, 3, 4}, func(v int) { fmt.Println(v) }) }