go汇编语言-闭包是如何实现的?

发布时间 2023-07-04 22:59:36作者: LuoTian

分析的代码

package main

func test(a int) func(i int) int {
    return func(i int) int {
        a = a + i
        return a
    }
}

func main() {
    f := test(1)
    a := f(2)
    println(a)

    b := f(3)
    println(b)
}

代码比较简易,test函数产生一个闭包函数并返回,下面分析它的产生过程

test函数