主题
文章
项目
资源
图书
Go网址导航
下载
官方文档
英文文档
中文文档
标准库中文版
Go指南
注册
登录
首页
主题
Go基础
defer疑问
joraboy328
·
· 2550 次点击
如下代码为何输出3? for i:=0;i<3;i++{ defer func() { fmt.Println(i) }() } }
阅读全文
查看全部 4 个评论
joraboy328
谢谢,我是看无闻的视频提到的这个,比较迷惑~
评论于 2017-08-31 06:04:43
#4
更多评论
zhaojiexi
因为是在闭包里 所以它i取得是外层i的内存地址 建议你可以去看看闭包
评论于 2017-08-31 00:27:59
#1
buscoop
纸上得来终觉浅,绝知此事要躬行!
你这里的defer作用域在for里面,要等for结束那一时,才defer
评论于 2017-08-31 01:09:33
#2
我要评论
用户登录
记住登录状态
没有账号?
注册
忘记密码?
或
GitHub 登录
Gitea 登录
Go今日面试题
今日阅读排行
一周阅读排行
X
登录和大家一起探讨吧
用户名
密码
记住登录状态
登录
GitHub 登录
忘记密码?
还不是会员
现在注册