Avatar ·

Como iterar sobre uma string caractere por caractere (por caracteres Unicode) em Rust?

Olá a todos! Acabei de começar a estudar Rust e tive um problema com iteração sobre strings. Em outras linguagens (como Python ou C++), estou acostumado que uma string é um array de caracteres e posso simplesmente percorrer por índice ou usar um loop for. Mas em Rust é mais complicado. Aqui está o que tentei: ```rust let s = "Привет, мир!"; for c in s { println!("{}", c); } ``` O compilador dá um erro: `error[E0277]: the trait bound \`str: Iterator\` is not satisfied`. Eu entendo que `str` não é um iterador, mas como obter cada caractere então? Também tentei acessar por índice: ```rust let s = "Привет"; println!("{}", s[0]); // Erro! ``` E novamente um erro: strings em Rust não podem ser indexadas diretamente porque caracteres Unicode podem ocupar diferentes quantidades de bytes. No final, eu