请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

defer 有执行顺序吗?

defer file.Close() defer writer.Close()类似这样的地方很多,都是golang的最佳实践,但是我有注意到我们有在同一个方法体内多次defer,有先后顺序嘛?从下至上的执行defer吗?多个defer的情况下,有没有什么best practices要遵循?

正在回答

1回答

有的,就是“从下至上”,或者说先进后出的顺序。

best practice是你一旦分配了资源,只要分配这一步没有错,就要立刻defer close。顺序不用特别考虑,绝大部分情况下先进后出的顺序正好符合我们的要求。

0 回复 有任何疑惑可以回复我~
  • 提问者 拧壶冲 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-10-21 20:35:46
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号