Sobes.tech
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