Ja, Sie können die parse-Methode auf einen String verwenden, um ihn direkt in eine Ganzzahl umzuwandeln, wie folgt:
let my_string = "42".to_string();
let my_int = my_string.parse::().unwrap();
Die parse-Methode gibt ein Result-Objekt zurück, daher müssen Sie den Fall behandeln, in dem der String nicht in eine Ganzzahl umgewandelt werden kann. Sie können unwrap wie oben gezeigt verwenden, um den Wert zu erhalten, wenn das Parsen erfolgreich war, oder es wird einen Fehler ausgeben, wenn das Parsen fehlgeschlagen ist.
Oder Sie können den match-Ausdruck verwenden, um die Erfolgs- und Fehlerfälle getrennt zu behandeln, wie folgt:
let my_string = "42".to_string();
let my_int = match my_string.parse::() {
Ok(n) => n,
Err(_) => {
println!("Konnte Ganzzahl nicht parsen");
0
},
};
Zur Information: Die parse-Methode ist für jeden Typ verfügbar, der das FromStr-Trait implementiert, was alle ganzzahligen Typen (z. B. i32, i64 usw.) sowie viele andere Typen wie f32 und bool einschließt.