问个问题

来源:3-12 api之数据库层实现_实现和验证Video

weixin_慕少9144449

2020-11-19

如果没搞错的话,3-12里面 defer 关闭数据库链接,应该是不会执行的吧?在defer还没加入栈的时候就已经return了err 实际上应该是不会运行到最后的defer close

写回答

1回答

艾文西

2020-11-24

是的,这里之前有人问过

defer放在最后为了防止报错前defer抛出空指针异常,不过这里有个小bug,放在函数入口会异常,放在第一个err后就能避免。

可以参考之前回答过的问题

https://coding.imooc.com/learn/questiondetail/182346.html

https://coding.imooc.com/learn/questiondetail/200261.html


0
0

Go语言实战流媒体视频网站,高效学习Go高性能开发

从零开始,全面掌握Go语言编码的架构风格和开发Web的关键技能

996 学习 · 268 问题

查看课程