Annotation de durée de vie dans les traits Rust

Beginner

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

Introduction

Dans ce laboratoire, nous explorons l'annotation des durées de vie dans les méthodes de traits, qui est similaire aux fonctions. Cela implique également d'annoter les durées de vie dans le bloc impl. Le code fourni montre un exemple où une structure Borrowed a une annotation de durée de vie, et le trait Default est implémenté pour elle en utilisant la durée de vie annotée. La fonction principale crée ensuite une instance de Borrowed en utilisant la méthode Default::default(), mettant en évidence l'utilisation des durées de vie dans les méthodes de traits.

Note : Si le laboratoire ne spécifie pas de nom de fichier, vous pouvez utiliser n'importe quel nom de fichier que vous voulez. Par exemple, vous pouvez utiliser main.rs, le compiler et l'exécuter avec rustc main.rs &&./main.

Traits

L'annotation des durées de vie dans les méthodes de traits est globalement similaire aux fonctions. Notez que le bloc impl peut également avoir une annotation de durée de vie.

// Une structure avec annotation de durée de vie.
#[derive(Debug)]
struct Borrowed<'a> {
    x: &'a i32,
}

// Annoter les durées de vie pour impl.
impl<'a> Default for Borrowed<'a> {
    fn default() -> Self {
        Self {
            x: &10,
        }
    }
}

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

Résumé

Félicitations ! Vous avez terminé le laboratoire Traits. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.