欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Go-闭包

程序员文章站 2022-04-30 18:01:01
一.关于闭包的定义 定义在函数内部 对外部作用域有引用 二.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
}