简介
在本实验中,我们探讨了 trait 方法中生命周期的标注,这与函数中的情况类似。这还涉及到在 impl 块中对生命周期进行标注。所提供的代码展示了一个示例,其中结构体 Borrowed 具有生命周期标注,并使用该标注的生命周期为其实现了 Default trait。然后,主函数使用 Default::default() 方法创建了一个 Borrowed 实例,展示了 trait 方法中生命周期的用法。
注意:如果实验未指定文件名,你可以使用任何你想要的文件名。例如,你可以使用
main.rs,并通过rustc main.rs &&./main进行编译和运行。
Traits
trait 方法中生命周期的标注基本上与函数类似。请注意,impl 也可能有生命周期标注。
// 一个带有生命周期标注的结构体。
#[derive(Debug)]
struct Borrowed<'a> {
x: &'a i32,
}
// 为 impl 标注生命周期。
impl<'a> Default for Borrowed<'a> {
fn default() -> Self {
Self {
x: &10,
}
}
}
fn main() {
let b: Borrowed = Default::default();
println!("b is {:?}", b);
}
总结
恭喜你!你已经完成了 Traits 实验。你可以在 LabEx 中练习更多实验来提升你的技能。