Go   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了golang匿名函数和闭包大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

匿名函数和闭包:

闭包和匿名函数经常一起使用,可以使用闭包来访问函数中的局部变量(被访问操作的变量为指针指向关系,操作的是同一个局部变量)如:

func closure(x int) (func(),func(int)) {
    fmt.Printf("初始值x为:%d,内存地址:%p\n",x,&x)
    f1 := func() {
        x = x + 5
        fmt.Printf("x+5:%d,内存地址:%p\n",&x)
    }
    f2 := func(y int) {
        x = x + y
        fmt.Printf("x+%d:%d,内存地址:%p\n",y,&x)
    }
    return f1,f2
}
func main() {
    func1,func2 := closure(10)
    func1()
    func2(10)
    func2(20)
}
输出结果为:
初始值x为:10,内存地址:0xc080000038
x+5:15,内存地址:0xc080000038
x+10:25,内存地址:0xc080000038
x+20:45,内存地址:0xc080000038

个人理解:

其实理解闭包的最方便的方法就是将闭包函数看成一个类,一个闭包函数调用就是实例化一个类。但很遗憾的是,目前我还无法领会闭包设计思想背后的精髓含义以及其所蕴含的哲学思想。

参考

关于golang中函数可参考如下一些资料,可能会有助于理解golang中的函数和闭包

大佬总结

以上是大佬教程为你收集整理的golang匿名函数和闭包全部内容,希望文章能够帮你解决golang匿名函数和闭包所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: