26 lines
739 B
Rust
26 lines
739 B
Rust
// Jede Variante kann unterschiedliche Daten tragen.
|
|
enum Tier {
|
|
Hund(String), // Tupel-Variante: Name
|
|
Fisch { art: String, liter: u32 }, // Struct-Variante: benannte Felder
|
|
Stein, // Keine Daten
|
|
}
|
|
|
|
fn main() {
|
|
let haustiere = vec![
|
|
Tier::Hund("Bello".into()),
|
|
Tier::Fisch {
|
|
art: "Goldfisch".into(),
|
|
liter: 60,
|
|
},
|
|
Tier::Stein,
|
|
];
|
|
|
|
for tier in &haustiere {
|
|
match tier {
|
|
Tier::Hund(name) => println!("{name} will Gassi gehen"),
|
|
Tier::Fisch { art, liter } => println!("{art} braucht {liter}L Aquarium"),
|
|
Tier::Stein => println!("...braucht nichts."),
|
|
}
|
|
}
|
|
}
|