Go-闭包

一.关于闭包的定义

  • 定义在函数内部
  • 对外部作用域有引用

二.GO语言里的闭包

原来和其他语言一模一样,作用域的影响函数内只受函数内的影响

三.重点(不同于其他语言)

GO语言中的函数套函数内层函数必须是匿名函数

另外关于函数套函数返回值怎么写

func test2(y int)(func(x int)func(),int) {
        a :=func(x int)func() {
                return func() {}
        }
        return a,5
}
//就是本质一样的什么样子返回,什么样子接受

四.补充取别名

//type 别名 被定义别名的
type my_func func(x int)func()

func test2(y int)(my_func,int) {
        a :=func(x int)func(){
                return func() {}
        }
        return a,5
}