¿Cómo obtener un carácter de una cadena por índice en Rust?
Acabo de empezar a aprender Rust y me encontré con un problema que me parece muy extraño. En otros lenguajes, como Python o JavaScript, puedo obtener fácilmente un carácter de una cadena por índice: `"hello"[0]` me da `'h'`. Pero cuando intenté hacer lo mismo en Rust, el compilador dio un error.
Aquí está mi código:
```rust
fn main() {
let s = String::from("Привет, мир!");
let first = s[0]; // ¡Error!
println!("Primer carácter: {}", first);
}
```
El compilador dice algo como: "the type `String` cannot be indexed by `{integer}`". Entiendo que Rust es un lenguaje seguro, pero ¿por qué no puedo simplemente tomar un carácter por índice? ¡En otros lenguajes funciona! ¿Cómo obtengo correctamente un carácter de una cadena? ¿Qué estoy haciendo mal?
Necesito procesar cada carácter de la cadena por separado, por ejemplo, para verificar si el primer carácter es una letra o un dígito. Indíquenme cómo hacerlo en Rust.