Structs, enums y traits

Rust Structs

Group related values into your own type with named fields.

  • Intermedio
  • 3 min de lectura
  • 1 ejemplo ejecutable
Lo que aprenderás
  • Defining a struct
  • Reading and changing fields
  • Struct update syntax
User
name"Ada"
age37
activetrue

Your own type with named fields

A struct is a type you define by naming its fields. It keeps related data together, such as the name, age and status of a user.

A struct value must be declared mut before a field can change. #[derive(Debug)] lets {:?} print the whole struct. ..user fills the fields that are not listed from another value, here only age.

Puntos clave

  1. A struct value must be mut to change a field.
  2. #[derive(Debug)] lets {:?} print it.
  3. ..user copies the remaining fields.

Ejemplo ejecutable de Rust

Rust
Ejecutar código →
main.rs
#[derive(Debug)]
struct User {
    name: String,
    age: u32,
    active: bool,
}

fn main() {
    let mut user = User {
        name: String::from("Ada"),
        age: 36,
        active: true,
    };
    user.age += 1;

    println!("{} is {}", user.name, user.age);
    println!("{:?}", user);

    let guest = User { name: String::from("Guest"), active: false, ..user };
    println!("{} {} {}", guest.name, guest.age, guest.active);
}
Obtén un botón Run para este ejemplo Resultado de ejecutar el código
Ada is 37
User { name: "Ada", age: 37, active: true }
Guest 37 false

Practica

Abre el ejemplo en el compilador online, cambia un valor o añade una línea y predice la salida antes de ejecutarlo. Después rompe el código a propósito y lee el mensaje del compilador.

¿Terminaste esta lección?

Márcala como aprendida para seguir tu progreso.

Practica con un reto

Usa lo que cubre esta lección para resolver un problema real. Cada reto se ejecuta en el navegador, con pruebas al instante y una revisión de IA.

Todos los retos