首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX
›
whinyStone
›
全部回复第 1 页 / 共 1 页
回复总数
1
61 天前
回复了
zhengfan2016
创建的主题
›
Go 编程语言
›
前端仔有点学不明白 golang 的 defer
具名返回那种应该是在栈内存提前指定了返回值的位置,所以 defer 执行的时候可以改到那个位置;
后面的返回值一般可能是寄存器传递的,汇编层面会是先算出来,然后执行 defer 的函数,然后弹栈返回;
即使是栈内存传递,也会有一次复制,defer 仍改不到返回值,可以改一个大数组看看;
堆内存就不一样了,在 foo 里声明一个切片并返回它,在 defer 里做修改,返回后的拿到的切片当然是修改后的
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
5803 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms ·
UTC 03:08
·
PVG 11:08
·
LAX 20:08
·
JFK 23:08
Developed with
CodeLauncher
♥ Do have faith in what you're doing.
❯