[新手学Go]GO语言闭包的使用
package mainimport ("fmt"
)func main() {f := k(11) //调用k函数fmt.Println(f(1)) fmt.Println(f(2))
}func k(x int) func(int) int { //输入x为Int型,返回一个函数func参数为Int,返回值为intreturn func(y int) int { //func参数为Int返回值为Intreturn x + y //返回x+y的值}}
闭包是函数以及相关函数引用环境的集合:闭包=函数+引用环境
例如上面那段代码中:k(x int)就是函数,return 部分就是引用环境
在闭包中所调用的变量中总是指向底层内存地址。譬如上述代码中的x,除非改变f:=k(11)中调用参数的值,那么地址是不会改变的。
func k(x int) func(int) int { fmt.Printf("%p",x) //0x118e00e0 return func(y int) int {fmt.Printf("%p",x) //0x118e00e0return x + y }
参考资料:
http://lelouchhe.github.io/one_thing_about_closure_in_go/ (go闭包遐想)
https://gobyexample.com/closures (go closure)
转载于:https://my.oschina.net/websec/blog/172233
[新手学Go]GO语言闭包的使用相关推荐
- php语言要学多久,新手学PHP语言好学吗?PHP学习从入门到会需要多久
参加PHP培训学习的学员都会问:新手学PHP语言好学吗?PHP学习从入门到会需要多久?专业不是计算机学生,更没有接触过PHP零基础,能学会PHP吗?下面由达内给大家介绍新手学PHP语言好学吗?PHP学 ...
- c语言指针异常,新手学C用指针有异常,
新手学C用指针有错误,求助啊 以下代码想实现的是:先输入一串单词,再输入一个单词查查有没有. 主要是想用指针的方法,但是一下代码出现了两个错误. 新手刚学,拍砖的轻点哦,谢谢指导. C/C++ cod ...
- 新手学Python要打好哪些基础?从软件安装到全面基础讲解,就它了
最近收到粉丝们的反馈,说自己学了一个月还没学完Python基础,我是当时就惊呆了,真的,Python基础什么时候变得如此高深莫测了? 结果我去看了一下,着实"有趣",东扯西扯硬是把 ...
- python学起来难不难-新手学python数据分析难不难?
原标题:新手学python数据分析难不难? 有很多没有基础的新手想学习python数据分析,却在纠结python数据分析难不难学?下面容妹给大家整理了资料,为各位分享! 1.python难不难? Py ...
- python基本输入输出函数有_新手学Python,输入输出函数、赋值语句常见5个错误,弄懂即过关...
从4月21日起,大陈开始教初一的学生学Python,目前已经上了2节课.学生基本掌握了表达式的构建以及赋值语句.变量的使用,以及input(输入函数).print(输出函数)的使用方法. 以下是大陈在 ...
- 零基础学java web开发pdf_新手学Java Web开发.pdf
作 者 :杨磊等编著 出版发行 : 北京:北京希望电子出版社 , 2010.01 ISBN号 :978-7-89498-988-8 页 数 : 480 丛书名 : 新手学编程系列 原书定价 : 49. ...
- 新手学java还是python知乎_编程初学者应该先学C++、Java还是Python?
最近,看到这样的一个话题:"打算自学编程,但是不知道该先学哪门语言入门?编程初学者应该先学C++.Java还是Python?",作为一个新手,应该学什么语言入门比较好呢?相信这是困 ...
- 创建的maven子项目怎么访问接口404_【经验分享】新手学Java编程语言怎么入门?...
新手学Java编程语言怎么入门?掌握语言基础是第一步,了解java基础知识,Java关键字.核心概念或者基本编码技术.掌握操作符.控制执行流程.访问权限控制.复用类.多态.接口.字符串.泛型.数组.容 ...
- 码农人生-如何快速使用从未学过的语言实现项目开发-第002期博文
如果你遇到过需要使用从未学过的语言去实现业务需求,或者你想快速入门一门新的语言,这篇文章值得你阅读参考.本篇主要讲述类似场景的方法论和我自己的实践故事,大神可以绕着跑了. 1.那些应急上马又不得不上的 ...
最新文章
- 2021年斯坦福AI指数报告重磅出炉!中国AI期刊影响力首超美国,视频处理是新风口...
- 减小Delphi xe系列生成的exe文件大小
- 深入探究ASP.NET Core读取Request.Body的正确方式
- 使用CUBA进行开发–是Spring的重大转变吗?
- JBPM工作流入门总结
- 今夏发布的Terraform 0.12将提供for循环和第一类表达式
- 利用StringUtils工具类进行String为空的判断
- 索引sql server_优化SQL Server索引策略
- LaTeX tikz初探——利用emoji画GPS卫星3D分布图(3)
- [转]如何撰写学术论文
- CatBoost快速入门
- 德州大学达拉斯分校计算机科学,德克萨斯大学达拉斯分校排名
- 标准柯西分布_柯西分布设独立随机变量X和Y都服从标准正态 – 手机爱问
- CVE-2018-1273漏洞复现
- 难忘2017年5月20日的那次雪崩
- ping命令英文全称
- windows10下Docker部署Kurento
- 根据励磁电感、谐振电感(漏感)、功率等级、频率设计LLC变换器的变压器
- python运维工程师前景_运维工程师的前景怎么样
- 使用R语言画圆弧条形图
热门文章
- mysql之索引组织表
- Centos 6.5 监控路由器、思科交换机Nagios (三)
- CFA考试一二三级经验,我写的很仔细......
- notepad++ java编码,输出中文字符时,编译出错
- jQuery里面的datepicker日期控件默认是显示英文的,如何显示中文或其他语言呢?...
- windows server 2008 R2 初试Hyper-V(一)
- Win 7 隐藏小功能——屏幕录制
- linux下memcached安装 和redis安装,jdk,tomcat,mysql 安装
- KEIL5.11安装小结
- 使用pg_stat_statement监控pgsql遇到的问题