我是靠谱客的博主 哭泣咖啡,最近开发中收集的这篇文章主要介绍golang闭包,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

golang闭包

http://blog.51cto.com/speakingbaicai/1703229
https://www.jianshu.com/p/fa21e6fada70

所谓闭包就是一个函数“捕获”了和它在同一作用于的其他常量和变量。

package main
import "fmt"
func addNumber(x int) func(int) {
fmt.Printf("x: %d, addr of x:%pn", x, &x)
return func(y int) {
k := x + y
x = k
y = k
fmt.Printf("x: %d, addr of x:%pn", x, &x)
fmt.Printf("y: %d, addr of y:%pn", y, &y)
}
}
func main() {
addNum := addNumber(5)
addNum(1)
addNum(1)
addNum(1)
fmt.Println("---------------------")
addNum1 := addNumber(5)
addNum1(1)
addNum1(1)
addNum1(1)
}
x: 5, addr of x:0xc4200140c8
x: 6, addr of x:0xc4200140c8
y: 6, addr of y:0xc420014100
x: 7, addr of x:0xc4200140c8
y: 7, addr of y:0xc420014118
x: 8, addr of x:0xc4200140c8
y: 8, addr of y:0xc420014130
---------------------
x: 5, addr of x:0xc420014148
x: 6, addr of x:0xc420014148
y: 6, addr of y:0xc420014158
x: 7, addr of x:0xc420014148
y: 7, addr of y:0xc420014170
x: 8, addr of x:0xc420014148
y: 8, addr of y:0xc420014188
posted on 2018-09-13 11:43 北京涛子 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/liujitao79/p/9639650.html

最后

以上就是哭泣咖啡为你收集整理的golang闭包的全部内容,希望文章能够帮你解决golang闭包所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部