知识卡片

Finalizer不是析构保证

专业/工作 · 470.b.1.a.1.c.3.a.8.e.1.b.1.a.1

内容

Finalizer 在对象被 GC 时执行关联函数,效果类似析构,但触发时机依赖垃圾回收,不能承担确定性资源释放。发散:文件句柄和锁应显式关闭,不要托付给 GC。

参考来源

- 位置:《Go语言入门到实战(共3册)》第46章《Go语言学习笔记:第21章 析构》(源文件:_epub-src/text/part0127.html) - 结论依据:原文围绕“对象被垃圾回收时执行一个关联函数”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的语言/工程结论,并补充了边界或实践启发。 - 原始内容:其主要用途是在对象被垃圾回收时执行一个关联函数,效果如同OOP里的析构方法(Destructor Method)。