Métodos
Rust te permite asociar funciones a los nuevos tipos. Para ello, usa un bloque impl
:
#[derive(Debug)] struct Person { name: String, age: u8, } impl Person { fn say_hello(&self) { println!("Hello, my name is {}", self.name); } } fn main() { let peter = Person { name: String::from("Peter"), age: 27, }; peter.say_hello(); }
Puntos Clave:
- Puede resultar útil presentar los métodos comparándolos con funciones.
- Se llama a los métodos en una instancia de un tipo (como un estructura o una enumeración) y el primer parámetro representa la instancia como
self
. - Los desarrolladores pueden optar por utilizar métodos para aprovechar la sintaxis de los receptores de métodos y para ayudar a mantenerlos más organizados. Mediante el uso de métodos podemos mantener todo el código de implementación en un lugar predecible.
- Se llama a los métodos en una instancia de un tipo (como un estructura o una enumeración) y el primer parámetro representa la instancia como
- Señala el uso de la palabra clave
self
, receptor de un método.- Indica que se trata de un término abreviado de
self:&Self
y muestra cómo se podría utilizar también el nombre de la estructura. - Explica que
Self
es un tipo de alias para el tipo en el que está el bloqueimpl
y que se puede usar en cualquier parte del bloque. - Ten en cuenta que se puede usar
self
como otras estructuras y que la notación de puntos puede utilizarse para referirse a campos concretos. - Puede ser un buen momento para mostrar la diferencia entre
&self
yself
modificando el código e intentando ejecutar say_hello dos veces.
- Indica que se trata de un término abreviado de
- A continuación, se describe la diferencia entre receptores de métodos.