Lebensdauerangabe in Rust Traits

Beginner

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

Einführung

In diesem Lab untersuchen wir die Angabe von Lebensdauern in Trait-Methoden, was ähnlich zu Funktionen ist. Dabei muss auch in der impl-Blöcke die Lebensdauer angegeben werden. Der bereitgestellte Code zeigt ein Beispiel, in dem eine Struktur Borrowed eine Lebensdauerangabe hat, und das Default-Trait für sie mit der annotierten Lebensdauer implementiert wird. Die Hauptfunktion erstellt dann eine Instanz von Borrowed mit der Methode Default::default(), was die Verwendung von Lebensdauern in Trait-Methoden zeigt.

Hinweis: Wenn das Lab keinen Dateinamen angibt, können Sie einen beliebigen Dateinamen verwenden. Beispielsweise können Sie main.rs verwenden und es mit rustc main.rs &&./main kompilieren und ausführen.

Traits

Die Angabe von Lebensdauern in Trait-Methoden ist im Grunde ähnlich wie bei Funktionen. Beachten Sie, dass impl ebenfalls eine Angabe von Lebensdauern haben kann.

// Eine Struktur mit Angabe von Lebensdauern.
#[derive(Debug)]
struct Borrowed<'a> {
    x: &'a i32,
}

// Lebensdauern für impl angeben.
impl<'a> Default for Borrowed<'a> {
    fn default() -> Self {
        Self {
            x: &10,
        }
    }
}

fn main() {
    let b: Borrowed = Default::default();
    println!("b ist {:?}", b);
}

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Traits-Lab abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.