关于defer执行机制的问题

来源:1-4 windows中安装centos7虚拟机

JxinBain

2021-10-01

老师你好 在你的视频9-6大约18分17秒的时候 关于temp_data执行的那一块
执行顺序应该是先执行temp_data 再执行defer 不知道这一块是我理解的有问题还是老师讲错了

写回答

1回答

bobby

2021-10-03

这里应该是

temp_data := b

执行完以后执行defer,由于这个操作是将b的地址赋值给temp_data,所以temp_data拿到了b的地址,所以defer改了b的值以后temp_data也能看到,我这里原本想说的是return temp_data 为了两步, 第一步是拿到temp_data的值,其实就是将这个值压入栈,一般函数压入栈以后发现函数结束了就立马从栈中取出返回,但是有了defer最后就是在从栈中取出以前先执行一下defer函数

0
0

Go+Python打造电商系统 自研微服务框架 抓紧高薪机遇

快速转型Go工程师,成为具备双语言后端能力的开发者

508 学习 · 530 问题

查看课程