Sobes.tech
Junior — Middle

Wie werden Strings implementiert und wie sind sie mit Runen in der Programmiersprache Go verbunden?

sobes.tech KI

Antwort von AI

In der Programmiersprache Go werden Strings durch den Typ string dargestellt, der eine unveränderliche Sequenz von Bytes ist, üblicherweise in UTF-8 codiert. Das bedeutet, dass ein String eine Byte-Sequenz ist, keine Zeichen.

Runen (rune) sind ein Typ, der einen Unicode-Codepunkt (int32) repräsentiert. Um mit Unicode-Zeichen in einem String zu arbeiten, wird der String in eine Rune-Sequenz umgewandelt, was eine korrekte Verarbeitung von mehrbyteigen Zeichen ermöglicht.

Beispiel:

s := "Привет"
for i, r := range s {
    fmt.Printf("%d: %c\n", i, r) // i — Byte-Index, r — Rune (Zeichen)
}

runes := []rune(s) // Umwandlung des Strings in eine Rune-Sequenz
fmt.Println(runes[0]) // erstes Zeichen als Rune

Daher sind Strings in Go Byte-Sequenzen, und Runen sind einzelne Unicode-Zeichen, was die Arbeit mit mehrsprachigen Texten ermöglicht.