</>
Plan du cours — 16/66

Enums

Intermédiaire

Les enums de Rust peuvent porter des données — ce sont des types somme, bien plus puissants que dans la plupart des langages.

enum Message {
    Quitter,
    Deplacer { x: i32, y: i32 },
    Ecrire(String),
    Couleur(u8, u8, u8),
}

fn traiter(m: Message) {
    match m {
        Message::Quitter => println!("bye"),
        Message::Deplacer { x, y } => println!("vers {x},{y}"),
        Message::Ecrire(texte) => println!("{texte}"),
        Message::Couleur(r, g, b) => println!("#{r:02x}{g:02x}{b:02x}"),
    }
}