Kann man einen HashMap in Rust kürzer und deklarativer initialisieren?
Hallo zusammen! Ich habe gerade angefangen, Rust zu lernen, und bin auf ein Problem gestoßen: Ich muss einen HashMap mit mehreren vordefinierten Schlüssel-Wert-Paaren erstellen. Was ich jetzt schreibe, sieht sehr wortreich aus:
```rust
use std::collections::HashMap;
let mut scores = HashMap::new();
scores.insert(String::from("Blue"), 10);
scores.insert(String::from("Yellow"), 50);
scores.insert(String::from("Red"), 25);
```
Das sind 6 Zeilen für drei Paare! In Python kann ich `{"Blue": 10, "Yellow": 50, "Red": 25}` schreiben – eine Zeile. In JavaScript – `{Blue: 10, Yellow: 50, Red: 25}`. Aber in Rust muss ich eine Menge Boilerplate-Code schreiben.
Ich habe versucht, das `vec![]` Makro und dann `.into_iter().collect()` zu verwenden, aber das scheint nicht ganz richtig zu sein. Gibt es ein eingebautes Makro `hashmap!{}` oder eine andere Möglichkeit, die Initialisierung kürzer und deklarativer zu gestalten? Vielleicht gibt es eine Crate, die das hinzufügt? Oder gehe ich einfach falsch an idiomatisches Rust heran?
Bitte helft mir!
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs
Testen in Java: Unit-, Integrations- und E2E-Tests – vollständiger Leitfaden
Algorithmen und Datenstrukturen in Rust: Ein praktischer Leitfaden
Arbeiten mit Datum und Uhrzeit in C#: Vollständiger Leitfaden