Go 闭包
来源:互联网 发布:大量收购淘宝店铺 编辑:程序博客网 时间:2024/06/05 15:09
闭包
Go 支持通过“闭包”来使用 匿名函数。匿名函数在你想定义一个不需要命名的内联函数时是很实用的。
代码实例
package mainimport "fmt"// 这个 `intSeq` 函数返回另一个在 `intSeq` 函数体内定义的// 匿名函数。这个返回的函数使用闭包的方式 _隐藏_ 变量 `i`。func intSeq() func() int { i := 0 return func() int { i += 1 return i }}func main() { // 我们调用 `intSeq` 函数,将返回值(也是一个函数)赋给 // `nextInt`。这个函数的值包含了自己的值 `i`,这样在每 // 次调用 `nextInt` 是都会更新 `i` 的值。 nextInt := intSeq() // 通过多次调用 `nextInt` 来看看闭包的效果。 fmt.Println(nextInt()) fmt.Println(nextInt()) fmt.Println(nextInt()) // 为了确认这个状态对于这个特定的函数是唯一的,我们 // 重新创建并测试一下。 newInts := intSeq() fmt.Println(newInts())}
运行程序
$ go run closures.go1231
阅读全文
0 0
- Go闭包
- Go语言-闭包
- go中的闭包
- Go闭包函数
- go闭包
- Go 闭包
- GO语言闭包
- Go语言中的闭包
- Go 闭包写法解析
- 【Go】包
- 【Go学习】理解Go语言中的函数闭包
- 理解Go语言中的函数闭包
- go语言学习-函数和闭包
- go语言闭包如何捕获参数
- Go 函数式编程(闭包)
- Go的闭包——计数器
- Go匿名函数和闭包
- Go语言_HTTP包
- 洛谷 P1196 银河英雄传说
- 理解 JVM:JVM 内存模型
- STM32之ADC
- 【opencv学习之十一】opencv: HighGUI参考手册
- Navicat 远程连接mysql数据库 2003:Can't connect to MySQL server (10060) /1130: Host '192.168.1.3' is not all
- Go 闭包
- BOOL / bool / Boolean / NSCFBoolean
- react and redux(一)props和state
- http协议状态码(完整版整理)----似码非码
- JSF与Spring的整合原理
- 无穷受限玻尔兹曼机在雷达图像识别上的应用 以及美国空军的SAR图像数据库MSTAR简介
- Struts2执行原理
- js做的打字小游戏~按下键盘的时候为什么没有反应,附上我的代码
- Eclipse不能创建Maven webapp项目/Eclipse创建Maven工程的webapp项目时报错