Lección 12 / 20

Estructuras (struct)

En esta lección agruparás varios datos relacionados bajo un mismo nombre y les añadirás métodos.

struct define los campos, y un bloque impl aparte define los métodos que operan sobre ellos. El primer parámetro de un método es &self, que es la referencia a la propia instancia. Se crea una instancia con Point { x: 0.0, y: 0.0 }.

El código de ejemplo define un punto en el plano y calcula la distancia entre dos, con powi(2) para elevar al cuadrado y sqrt() para la raíz.

Lo que descoloca viniendo de Java o Python es que los datos y el comportamiento se escriben en sitios separados: los campos en el struct y los métodos en el impl. No es un capricho de estilo, es lo que permite añadir métodos a un tipo desde varios bloques y, mediante los traits, implementar comportamiento para tipos que ni siquiera has escrito tú.

Fíjate también en que la distancia sale como 5 y no como 5.0: {} imprime el f64 en su forma más corta posible. Para forzar decimales se usa {:.2}, que muestra dos.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Rust directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

Espacio publicitario (banner)
Espacio publicitario (en el artículo)