匿名函数

概念

由一个不带函数名的函数声明和函数体组成

func(参数列表)返回值列表{
函数体
}

匿名函数可以直接赋值给一个变量或者直接执行,不能独立存在

  • 在定义时直接执行
  • 无参数匿名函数
func() 返回值列表{
函数体
}()
//()是对匿名函数的调用
  • 有参数,在括号里加参数
func(参数列表)返回值列表{
函数体
}(调用参数列表)
  • 直接赋值给一个变量再调用
a:=func(){
函数体
}

a()

匿名函数用作回调函数

用户传入不同的匿名函数可以对函数的参数进行不同的操作

//funcName的参数列表里包含匿名函数
func funcName(f func(int),除匿名函数外的其他参数列表) {
//在函数体中针对其他参数进行匿名函数的操作
函数体
}

//调用函数,可以传入不同的匿名函数
funcName(f func(int),除匿名函数外的其他参数列表){
匿名函数的函数体
})

将函数作为返回值

func  funcName(参数列表) func(匿名函数参数列表) 匿名函数返回值列表{
	return func(匿名函数参数列表) 匿名函数返回值列表 {
		return 匿名函数返回值列表
	}
}

//调用funcName函数,返回值是匿名函数,赋值给a
a:= funcName(参数列表)
a(匿名函数参数列表)

posted on 2019-05-20 23:40  j_x_x  阅读(340)  评论(0编辑  收藏  举报

导航