¿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.