Avatar ·

Comment convertir une chaîne (String) en entier (int) en Rust ?

Bonjour à tous ! Je viens de commencer à apprendre Rust, je suis passé de Python, et j'ai rencontré un problème pour convertir une chaîne en nombre. En Python, j'avais l'habitude d'écrire `int("123")` et d'obtenir le nombre 123. Mais en Rust, tout s'est avéré plus compliqué. J'ai une variable : ```rust let input = String::from("42"); let number: i32 = input; // Erreur ! ``` Le compilateur donne une erreur : `expected i32, found String`. Je comprends que Rust est un langage fortement typé, et on ne peut pas simplement assigner une chaîne à un nombre. J'ai essayé d'utiliser `as` pour le cast : ```rust let number: i32 = input as i32; // Erreur aussi ``` Mais cela ne fonctionne pas non plus. J'ai lu qu'en Rust, il faut utiliser la méthode `parse()`, mais je ne comprends pas comment l'appliquer correctement. Que faire si la chaîne peut être invalide (par exemple, "abc") ? Comment gérer l'erreur ? Et que faire si la chaîne est très longue ou contient des espaces ? Je serais reconnaissant pour un exemple détaillé avec une explication sur la façon de convertir correctement `String` en `i32` (ou d'autres entiers) en tenant compte