Rust 中 trait 的生命周期标注

Beginner

This tutorial is from open-source community. Access the source code

简介

在本实验中,我们探讨了 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 中练习更多实验来提升你的技能。