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 "Привет