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 avecrustc 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.