Rust · Essencial · Português · Técnico
enum com dados
Enum cujas variantes carregam valores, cada uma com seu próprio formato. Permite representar um estado ou mensagem de várias formas em um único tipo seguro.
Onde usar
É a ferramenta preferida para modelar estados e comandos. Combina com match, que obriga a tratar todas as variantes.
Em código
enum Msg {
Sair,
Mover { x: i32, y: i32 },
Texto(String),
}
let m = Msg::Texto("oi".to_string());Exemplos
Modelei a mensagem como um enum com dados.
Cada variante do enum carrega um payload diferente.
Cuidado
Não é um enum de constantes numéricas como em C ou Java: aqui cada variante pode guardar dados diferentes.
Sinônimos
tipo soma, união etiquetada