看下面代码的 defer 的执行顺序是什么? defer的作用和特点是什么?

本文阅读 2 分钟
首页 golang 正文

defer的作用是: 你只需要在调用普通函数或方法前加上关键字defer,就完成了defer所需要的语法。当defer语句被执行时,跟在defer后面的函数会被延迟执行。直到包含该defer语句的函数执行完毕时,defer后的函数才会被执行,不论包含defer语句的函数是通过return正常结束,还是由于panic导致的异常结束。你可以在一个函数中执行多条defer语句,它们的执行顺序与声明顺序相反。

defer的常用场景:

  • defer语句经常被用于处理成对的操作,如打开、关闭、连接、断开连接、加锁、释放锁。
  • 通过defer机制,不论函数逻辑多复杂,都能保证在任何执行路径下,资源被释放。
  • 释放资源的defer应该直接跟在请求资源的语句后。
本文来自投稿,不代表本站立场,如若转载,请注明出处:
如何限制 goroutine 并发数量 (channel 或 WaitGroup)
« 上一篇 09-17
分片键的选择?
下一篇 » 09-17

发表评论

发表评论