Go闭包
来源:互联网 发布:ubuntu 开放端口 编辑:程序博客网 时间:2024/06/06 03:51
通过访问外部变量,一个闭包可以维持(keep alive)这些变量。在内部函数和外部函数的例子中,外部函数可以创建局部变量,并且最终退出;但是,如果任何一个或多个内部函数在它退出后却没有退出,那么内部函数就维持了外部函数的局部数据。
关键词:维持外部数据,直至闭包(一个对象)的生命结束。
package mainimport "fmt"func adder() func(int) int { sum := 0 //外部数据 return func(x int) int { sum += x return sum }}func main() { pos, neg := adder(), adder() for i := 0; i < 10; i++ { fmt.Println( pos(i), //维持,实现累加 neg(-2*i), ) }}
输出:
0 01 -23 -66 -1210 -2015 -3021 -4228 -5636 -7245 -90Program exited.
JavaScript闭包一句话解释:http://kb.cnblogs.com/page/110782/
耗子的闭包:http://coolshell.cn/articles/6731.html
Go闭包实现斐波那契: https://gist.github.com/resouer/10739898
0 0
- Go闭包
- Go语言-闭包
- go中的闭包
- Go闭包函数
- go闭包
- Go 闭包
- GO语言闭包
- Go语言中的闭包
- Go 闭包写法解析
- 【Go】包
- 【Go学习】理解Go语言中的函数闭包
- 理解Go语言中的函数闭包
- go语言学习-函数和闭包
- go语言闭包如何捕获参数
- Go 函数式编程(闭包)
- Go的闭包——计数器
- Go匿名函数和闭包
- Go语言_HTTP包
- twitter4j项目介绍
- 项目收集二
- Struts2中过滤器与拦截器的区别
- 第六周作业1——利用哈夫曼编码英文字母表
- 正方体三组相对的面相等
- Go闭包
- 关于上班时的信号差的问题
- java架构师之路:JAVA程序员必看的15本书的电子版下载地址
- 一个C++连接sql的简单实例
- can't read model: number of return field is not correct
- HDU-2089 不要62 数位DP 模板题
- 计算机网络学习笔记——第三章课后题答案详解
- Thinking In Java琐碎知识点摘要(二)
- java中到底有没有指针