Wie greife ich auf Enum-Werte in Rust zu? Wir analysieren match, if let und andere Methoden
Hallo zusammen! Ich habe vor kurzem angefangen, Rust zu lernen, und bin auf ein Problem bei der Arbeit mit Enums gestoßen. Ich habe ein einfaches Enum für den Bestellstatus erstellt:
```rust
enum OrderStatus {
Pending,
Processing,
Shipped(String),
Delivered { date: String, signature: bool },
}
```
Aber ich verstehe nicht, wie ich Daten aus den Varianten extrahieren kann. Zum Beispiel muss ich bei Status `Shipped` die Tracking-Nummer (`String`) abrufen. Bei `Delivered` das Datum und die Unterschrift. Einfach `order_status.tracking_number` zu schreiben funktioniert nicht – der Compiler meckert.
Ich habe versucht, `match` zu verwenden, aber ich verwechsle ständig die Syntax und bekomme Fehler wie "expected enum, found &str". In der Dokumentation steht etwas über `if let` und `unwrap`, aber ich verstehe nicht, wann man was anwenden soll. Könnt ihr mir bitte sagen, wie man das richtig macht?