延宕执行,妙用无穷,Go lang1.18 入门精炼教程,由白丁入鸿儒,Golang 中 defer 关键字延迟调用机制使用 EP17

刘悦 at 
先行定义,延后执行。不得不佩服 Golang 设计者天才的设计,事实上,defer 关键字就相当于 Python 中的 try{...}except{...}finally{...}结构设计中的 finally 语法块,函数结束时强制执行的代码逻辑,但是 defer 在语法结构上更加优雅,在函数退出前统一执行,可以随时增加 defer 语句,多用于系统资源的释放以及相关善后工作。当然了,这种流程结构是必须的,形式上可以不同,但底层原理是类似的,Golang 选择了更简约的 defer,避免多级嵌套的 tryexceptfinally 结构。使用场景操作系统资源在业务上避免不了的,比方说单例对象……