capypad
0 Tage Serie
rust / beginner
Snippet

Enums definieren und verwenden

Enums ermöglichen es dir, einen Typ zu definieren, indem du seine möglichen Varianten aufzählst. In diesem Beispiel hat Direction vier Varianten, die Himmelsrichtungen darstellen. Du kannst match-Ausdrücke verwenden, um jede Variante zu behandeln. Enums sind nützlich für die Darstellung einer festen Anzahl verwandter Optionen.

snippet.rs
rust
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
enum Direction {
North,
South,
East,
West,
}
 
fn get_opposite(dir: Direction) -> Direction {
match dir {
Direction::North => Direction::South,
Direction::South => Direction::North,
Direction::East => Direction::West,
Direction::West => Direction::East,
}
}
 
fn main() {
let heading = Direction::North;
println!("Heading: {:?}", heading);
let opposite = get_opposite(heading);
println!("Opposite: {:?}", opposite);
}
Erklärung
1
enum Direction { ... }
Definiert ein Enum mit vier Varianten für Himmelsrichtungen
2
Direction::North => Direction::South
Musterabgleich für jede Variante, gibt die Gegenrichtung zurück
3
let heading = Direction::North;
Erstellt eine Instanz der Enum-Variante