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

defer 的作用是:

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

defer 的常用场景:

⚫ defer 语句经常被用于处理成对的操作,如打开、关闭、连接、断开连接、加锁、释放锁。

⚫ 通过 defer 机制,不论函数逻辑多复杂,都能保证在任何执行路径下,资源被释放。

⚫ 释放资源的 defer 应该直接跟在请求资源的语句后。

发表评论

后才能评论