Structs, enums e traits

Rust Structs

Group related values into your own type with named fields.

  • Intermediário
  • 3 min de leitura
  • 1 exemplo executável
O que você vai aprender
  • 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.

Pontos-chave

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

Exemplo executável de Rust

Rust
Executar 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);
}
Gerar um botão Run para este exemplo Resultado da execução
Ada is 37
User { name: "Ada", age: 37, active: true }
Guest 37 false

Pratique

Abra o exemplo no compilador online, mude um valor ou adicione uma linha e tente prever a saída antes de executar. Depois quebre o código de propósito e leia a mensagem do compilador.

Terminou esta lição?

Marque como aprendida para acompanhar seu progresso.

Pratique com um desafio

Use o conteúdo desta lição para resolver um problema real. Cada desafio roda no navegador, com testes instantâneos e uma revisão por IA.

Todos os desafios