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 rangeloop, 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