Avatar ·

Wie bekomme ich das erste Zeichen aus einem String in Rust?

Hallo zusammen! Ich habe vor kurzem angefangen, Rust zu lernen, und bin auf eine scheinbar einfache Aufgabe gestoßen: Ich muss das erste Zeichen aus einem String holen. In Python würde ich `text[0]` schreiben, und alles funktioniert. Aber in Rust funktioniert dieser Ansatz nicht. Hier ist mein Code: ```rust fn main() { let greeting = String::from("Привет, мир!"); let first_char = greeting[0]; println!("Erstes Zeichen: {}", first_char); } ``` Der Compiler gibt einen Fehler aus: `the type 'String' cannot be indexed by 'usize'`. Ich verstehe, dass Strings in Rust keine einfachen Arrays von Zeichen sind, sondern UTF-8-kodierte Byte-Sequenzen. Aber wie bekomme ich dann das erste Zeichen? In der Dokumentation steht etwas über `.chars()` und `.bytes()`, aber ich bin verwirrt. Ich brauche genau die erste Graphem-Darstellung (Zeichen), nicht das Byte. Zum Beispiel für den String "Привет