Wie erhalte ich die Anzahl der Zeichen (Runes) in einem Go-String, nicht die Bytes?
```html
Hallo zusammen! Ich habe gerade angefangen, Go zu lernen, und bin auf ein Problem beim Zählen von Zeichen in einem String gestoßen. Ich schreibe einen kleinen Passwort-Validator: Ich muss überprüfen, ob die Passwortlänge mindestens 8 Zeichen beträgt. Ich habe diesen Code geschrieben:
```go
package main
import "fmt"
func main() {
password := "пароль"
if len(password) < 8 {
fmt.Println("Passwort ist zu kurz")
}
}
```
Aber das Programm gibt "Passwort ist zu kurz" aus, obwohl der String "пароль" aus 6 russischen Buchstaben besteht, nicht 8. Ich hatte erwartet, dass len() 6 zurückgibt, aber es gibt 12 zurück (wenn ich es richtig verstanden habe). Es scheint, dass len() Bytes zählt, nicht Zeichen. Wie zählt man die Anzahl der Zeichen in einem Go-String korrekt? Muss man Unicode irgendwie berücksichtigen, wenn der String Kyrillisch oder Emojis enthält? Ich wäre für Codebeispiele dankbar.
Tags: strings, runes
```