知识卡片

Defer保证异常清理

专业/工作 · 470.b.1.a.1.c.3.a.6.a.2.d.1.a.2

内容

defer 即使在函数出错时也能执行清理动作,适合资源释放和解锁。发散:越容易出错的路径,越需要把清理注册在资源申请旁边。呼应[[Defer保障清理]]的用法。

参考来源

- 位置:《Go语言入门到实战(共3册)》第45章《Go语言学习笔记:第20章 延迟》(源文件:_epub-src/text/part0124.html) - 结论依据:原文围绕“即便函数执行出错,依然能保证回收资源”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的语言/工程结论,并补充了边界或实践启发。 - 原始内容:未知 第20章 延迟 延迟调用(defer)的最大优势是,即便函数执行出错,依然能保证回收资源等操作得以执行。但如果对性能有要求,且错误能被控制,那么还是直接执行比较好。 20.1 定义 我们用一个简单的示例来揭开defer的秘密。 test.go package main import () fu……