Go语言学习——深入了解defer

1.简介 defer是Go语言中的延迟调用函数,它是在函数真正返回之前立即执行,一般用于资源回收、捕捉异常操作,其实现原理是: 1)在对应语句打上标签,告诉系统,先不要调用、先执行入栈操作,待函数退栈时在一并调用; 2)当defer语句入栈时,会将函数地址、函数实参一同入栈,如果实参是表达式、函数语句,则会优先运行; 3)函数退栈时,无论是正常调用结束还是触发panic,都会调...阅读全文

2020-03-29 15:14:26