Rust のトレイトにおける寿命注釈

Beginner

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

はじめに

この実験では、関数と同様に、トレイトメソッドにおける寿命注釈を調べます。これには、impl ブロックにおける寿命注釈も含まれます。提供されたコードは、構造体 Borrowed に寿命注釈があり、それを使用して Default トレイトが実装されている例を示しています。その後、メイン関数は Default::default() メソッドを使用して Borrowed のインスタンスを作成し、トレイトメソッドにおける寿命の使用方法を示しています。

注: 実験でファイル名が指定されていない場合、好きなファイル名を使用できます。たとえば、main.rs を使用して、rustc main.rs &&./main でコンパイルして実行できます。

トレイト

トレイトメソッドにおける寿命注釈は基本的に関数と同じです。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);
}

まとめ

おめでとうございます!あなたはトレイトの実験を完了しました。あなたのスキルを向上させるために、LabEx でさらに多くの実験を行って練習してください。