知识卡片
Defer保障清理
内容
defer 将调用延迟到函数退出前执行,常用于关闭资源、释放锁和错误恢复。发散:defer 是控制流的保险扣,但高频热路径要考虑它的额外开销。同一机制在运行时侧的说明见[[Defer保证异常清理]]。
参考来源
- 位置:《Go语言入门到实战(共3册)》第15章《Go语言编程入门与实战技巧:第5章 函数》(源文件:_epub-src/text/part0027_split_000.html)
- 结论依据:原文围绕“defer延迟语句”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的语言/工程结论,并补充了边界或实践启发。
- 原始内容:的变量时,传递指针可以极大减少内存占用,性能优势尤为出色,所以这把双刃剑要适当利用。 5.3.2 defer与跟踪 1.defer延迟语句 Go语言中让人颇为称道的一个设计就是延迟(defer)语句,开发者可以在函数中添加多个defer语句。当函数执行到最后时(return语句执行之前),这些def……