Sobes.tech
Junior

Wat stelt het datatype string voor in de programmeertaal Golang?

sobes.tech AI

Antwoord van AI

In Golang is string een onveranderlijke reeks bytes.

Belangrijkste kenmerken:

  • Onveranderlijkheid: Na het maken van een string kan deze niet worden gewijzigd. Elke operatie die de string wijzigt, creëert in feite een nieuwe string.
  • Representatie: De string bevat een reeks bytes. Standaard gaat Golang ervan uit dat deze bytes UTF-8 gecodeerde tekst vertegenwoordigen.
  • Lengte: De lengte van de string (len(s)) geeft het aantal bytes in de string terug, niet het aantal runen (symbolen).
  • Indexering: Toegang tot de elementen van de string via index (s[i]) geeft de byte op die index.
  • Runen: Om met tekens (runen) te werken, wordt iteratie over de string gebruikt met een for range loop, die UTF-8 decodeert en de runen en hun indices levert.

Voorbeeld:

// String initialiseren
s := "Привет, мир!" // 23 bytes, 12 runen

// Lengte van de string (in bytes)
byteLength := len(s) // 23

// Toegang tot de byte via index
firstByte := s[0] // firstByte = 208 (byte voor 'П' in UTF-8)

// Iteratie over de runen
runeCount := 0
for index, runeValue := range s {
	// index - startindex van de rune in de string (in bytes)
	// runeValue - de gedecodeerde rune
	runeCount++
}
// runeCount = 12