代码点读机 / Rust / Drop

Drop Rust · 常用Trait

析构 Trait,变量离开作用域时自动调用 drop(),用于释放资源、关闭句柄等清理工作。

怎么用

impl Drop for 类型 { fn drop(&mut self) { ... } },用于自定义清理逻辑

小例子

struct 临时文件;
impl Drop for 临时文件 {
    fn drop(&mut self) {
        println!("已清理");
    }
}
{ let _ = 临时文件; }
println!("结束");

运行结果

已清理
结束

提醒:不能手动调用 drop;需要提前释放可用 std::mem::drop

官方文档:https://doc.rust-lang.org/std/ops/trait.Drop.html

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Rust全部词条