Avatar ·

Comment obtenir un caractère d'une chaîne par index en Rust ? Indexation des chaînes

Bonjour à tous ! Je viens de commencer à apprendre Rust et j'ai rencontré un problème qui me trouble beaucoup. J'ai l'habitude d'autres langages de programmation, comme Python ou C++, où on peut simplement écrire `my_string[0]` et obtenir le premier caractère. En Rust, j'ai essayé de faire la même chose, et le compilateur a renvoyé une erreur. Voici mon code : ```rust fn main() { let hello = String::from("Привет"); let first_char = hello[0]; // Erreur ! println!("Premier caractère : {}", first_char); } ``` Le compilateur dit quelque chose comme `the trait bound 'String: Index<{integer}>' is not satisfied`. Honnêtement, je ne comprends pas pourquoi les chaînes ne peuvent pas être indexées comme des tableaux normaux. Après tout, une chaîne est une séquence de caractères, non ? J'ai essayé de chercher sur Google, mais les réponses sur Stack Overflow en anglais sont trop complexes pour un débutant. Pouvez-vous expliquer en termes simples : 1. Pourquoi en Rust on ne peut pas simplement accéder à un caractère d'une chaîne par index ? 2. Comment obtenir correctement un caractère individuel ou une sous-chaîne ? 3. Qu'est-ce que `chars