Introducción
En este laboratorio, exploramos la anotación de los períodos de vida en los métodos de tratos, lo cual es similar a las funciones. Esto también implica anotar los períodos de vida en el bloque impl. El código proporcionado demuestra un ejemplo en el que una estructura Borrowed tiene una anotación de período de vida, y se implementa la característica Default para ella utilizando el período de vida anotado. Luego, la función principal crea una instancia de Borrowed utilizando el método Default::default(), mostrando el uso de los períodos de vida en los métodos de tratos.
Nota: Si el laboratorio no especifica un nombre de archivo, puede usar cualquier nombre de archivo que desee. Por ejemplo, puede usar
main.rs, compilar y ejecutarlo conrustc main.rs &&./main.
Traits
La anotación de los períodos de vida en los métodos de trato es básicamente similar a las funciones. Tenga en cuenta que impl también puede tener una anotación de períodos de vida.
// Una estructura con anotación de períodos de vida.
#[derive(Debug)]
struct Borrowed<'a> {
x: &'a i32,
}
// Anota los períodos de vida para impl.
impl<'a> Default for Borrowed<'a> {
fn default() -> Self {
Self {
x: &10,
}
}
}
fn main() {
let b: Borrowed = Default::default();
println!("b is {:?}", b);
}
Resumen
¡Felicidades! Has completado el laboratorio de Traits. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.