Avatar ·

Como obter um caractere de uma string por índice em Rust? Indexação de strings

Olá a todos! Comecei a estudar Rust recentemente e me deparei com um problema que me deixa muito confuso. Estou acostumado com outras linguagens de programação, como Python ou C++, onde posso simplesmente escrever `my_string[0]` e obter o primeiro caractere. Em Rust, tentei fazer o mesmo, e o compilador gerou um erro. Aqui está meu código: ```rust fn main() { let hello = String::from("Привет"); let first_char = hello[0]; // Erro! println!("Primeiro caractere: {}", first_char); } ``` O compilador diz algo como `the trait bound 'String: Index<{integer}>' is not satisfied`. Sinceramente, não entendo por que strings não podem ser indexadas como arrays comuns. Afinal, uma string é uma sequência de caracteres, certo? Tentei pesquisar, mas as respostas no Stack Overflow em inglês são muito complexas para um iniciante. Vocês podem explicar em palavras simples: 1. Por que em Rust não podemos simplesmente acessar um caractere de uma string por índice? 2. Como obter corretamente um caractere individual ou uma substring? 3. O que é `chars