主题
文章
项目
资源
图书
Go网址导航
下载
官方文档
英文文档
中文文档
标准库中文版
Go指南
注册
登录
首页
主题
每日资讯
golang 中的闭包函数 逃逸问题
qianyuyuyu
·
· 844 次点击
函数返回一个闭包函数,闭包函数中如果引用了栈上的变量,那么这个变量会逃逸到堆上,是否意味着这个变量一直存在于堆上永远不会被gc?
阅读全文
查看全部 2 个评论
avtion
建议看一下GC,三色并发标记和混写屏障,你的变量失去引用自然就会被GC回收了
评论于 2020-08-28 21:47:35
#2
更多评论
focusonline
怎么可能... 出了生命期范围一样会被gc回收的. 你可能觉得闭包函数本身有什么特殊之处, 其实没啥区别, 执行完了闭包函数, 一样被GC回收. 或者直接丢弃不执行这个闭包函数,它引用的堆变量一样会被回收.
评论于 2020-08-25 12:52:06
#1
我要评论
用户登录
记住登录状态
没有账号?
注册
忘记密码?
或
GitHub 登录
Gitea 登录
Go今日面试题
今日阅读排行
一周阅读排行
X
登录和大家一起探讨吧
用户名
密码
记住登录状态
登录
GitHub 登录
忘记密码?
还不是会员
现在注册