知识卡片
Defer注册退出动作
内容
defer 向当前函数注册退出前执行的调用,常用于资源释放、解锁和错误处理。发散:defer 把清理逻辑贴近申请位置,降低遗漏风险。运行时侧的等价说明见[[Defer保证异常清理]]。
参考来源
- 位置:《Go语言入门到实战(共3册)》第29章《Go语言学习笔记:第4章 函数》(源文件:_epub-src/text/part0058.html)
- 结论依据:原文围绕“语句defer向当前函数注册稍后执行”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的语言/工程结论,并补充了边界或实践启发。
- 原始内容:传递参数就可读取或修改环境状态,当然也要为此付出额外代价。对于性能要求较高的场合,须慎重使用。 未知 4.5 延迟调用 语句defer向当前函数注册稍后执行的函数调用。这些调用被称作延迟调用,因为它们直到当前函数执行结束前才被执行,常用于资源释放、解除锁定,以及错误处理等操作。 func main(……