Sobes.tech
Junior — Middle

Welche Informationen gibt die Funktion len bei der Verarbeitung eines Strings zurück?

sobes.tech KI

Antwort von AI

In der Programmiersprache Go gibt die Funktion len bei Anwendung auf eine Zeichenkette die Anzahl der Bytes in dieser Zeichenkette zurück, nicht die Anzahl der Zeichen (Runen).

Dies liegt daran, dass Strings in Go im UTF-8-Format gespeichert werden, wobei ein Zeichen zwischen 1 und 4 Bytes belegen kann. Daher gibt len die Länge in Bytes zurück.

Beispiel:

package main
import (
    "fmt"
)

func main() {
    s := "Привет" // russisches Wort
    fmt.Println(len(s)) // Gibt die Anzahl der Bytes aus, z.B. 12
}

Wenn man die Anzahl der Zeichen (Runen) erhalten möchte, sollte man die Zeichenkette in ein Slice von Runen umwandeln:

runes := []rune(s)
fmt.Println(len(runes)) // Gibt die Anzahl der Zeichen aus, z.B. 6

Daher ist len bei Strings die Länge in Bytes, nicht in Zeichen.