Junior
Was stellt der Datentyp string in der Programmiersprache Golang dar?
sobes.tech KI
Antwort von AI
In Golang ist string eine unveränderliche Sequenz von Bytes.
Wichtige Merkmale:
- Unveränderlichkeit: Nach der Erstellung kann eine Zeichenkette nicht geändert werden. Jede Operation, die die Zeichenkette modifiziert, erstellt tatsächlich eine neue Zeichenkette.
- Darstellung: Die Zeichenkette enthält eine Sequenz von Bytes. Standardmäßig geht Golang davon aus, dass diese Bytes UTF-8-kodierten Text darstellen.
- Länge: Die Länge der Zeichenkette (
len(s)) gibt die Anzahl der Bytes in der Zeichenkette zurück, nicht die Anzahl der Runen (Symbole). - Indexierung: Der Zugriff auf Elemente der Zeichenkette per Index (
s[i]) gibt das Byte an diesem Index zurück. - Runen: Um mit Zeichen (Runen) zu arbeiten, verwendet man die Iteration über die Zeichenkette mit einer Schleife
for range, die UTF-8 decodiert und die Runen sowie deren Indizes bereitstellt.
Beispiel:
// Initialisierung der Zeichenkette
s := "Привет, мир!" // 23 Bytes, 12 Runen
// Länge der Zeichenkette (in Bytes)
byteLength := len(s) // byteLength = 23
// Zugriff auf das Byte per Index
firstByte := s[0] // firstByte = 208 (Byte für 'П' in UTF-8)
// Iteration über die Runen
runeCount := 0
for index, runeValue := range s {
// index - Startindex der Rune in der Zeichenkette (in Bytes)
// runeValue - die decodierte Rune
runeCount++
}
// runeCount = 12