Avatar ·

¿Cómo convertir una cadena (String) a un número entero (int) en Rust?

¡Hola a todos! Acabo de empezar a aprender Rust, viniendo de Python, y me encontré con el problema de convertir una cadena a número. En Python solía escribir `int("123")` y obtenía el número 123. Pero en Rust todo resultó más complicado. Tengo una variable: ```rust let input = String::from("42"); let number: i32 = input; // ¡Error! ``` El compilador da un error: `expected i32, found String`. Entiendo que Rust es un lenguaje fuertemente tipado y no se puede asignar una cadena a un número así nomás. Intenté usar `as` para la conversión de tipo: ```rust let number: i32 = input as i32; // También error ``` Pero tampoco funciona. Leí que en Rust se debe usar el método `parse()`, pero no entiendo cómo aplicarlo correctamente. ¿Qué hacer si la cadena puede ser inválida (por ejemplo, "abc")? ¿Cómo manejar el error? ¿Y qué pasa si la cadena es muy grande o contiene espacios? Agradecería un ejemplo detallado con explicación de cómo convertir correctamente `String` a `i32` (u otros números enteros) teniendo en cuenta.