Rust 编程视频教程(进阶)——012_1Drop trait 介绍
原创
©著作权归作者所有:来自51CTO博客作者wx6364ffafc5a30的原创作品,请联系作者获取转载授权,否则将追究法律责任
视频地址
头条地址:https://www.ixigua.com/i6775861706447913485
B站地址:https://www.bilibili.com/video/av81202308/
源码地址
github地址:https://github.com/anonymousGiga/learn_rust
讲解内容
1、Drop trait类似于其它语言中的析构函数,当值离开作用域时执行此函数的代码。
可以为任何类型提供Drop trait的实现(但是注意,这里的类型需要用struct包含起来,用例子实现Drop for i32和Drop for String报错)。
2、实现Drop trait
例子:
struct Dog {
name: String,
}
//下面为Dog实现Drop trait
impl Drop for Dog {
fn drop( &mut self ) {
println!("Dog leave");
}
}
fn main() {
let a = Dog { name: String::from("wangcai")};
let b = Dog { name: String::from("dahuang")};
println!("At the end of main");
}
//从打印结果可以看出是离开作用域时调用了drop方法。