Junior — Middle
Hoe worden strings geïmplementeerd en hoe zijn ze verbonden met runen in de programmeertaal Go?
sobes.tech AI
Antwoord van AI
In de programmeertaal Go worden strings weergegeven door het type string, dat een onveranderlijke reeks bytes is, meestal gecodeerd in UTF-8. Dit betekent dat een string een byte-reeks is, geen tekens.
Runen (rune) zijn een type dat een Unicode-codepunt (int32) vertegenwoordigt. Om met Unicode-tekens in een string te werken, wordt de string omgezet in een reeks runen, wat het correct verwerken van multibyte-tekens mogelijk maakt.
Voorbeeld:
s := "Привет"
for i, r := range s {
fmt.Printf("%d: %c\n", i, r) // i — byte-index, r — rune (teken)
}
runes := []rune(s) // conversie van string naar reeks runen
fmt.Println(runes[0]) // eerste teken als rune
Dus, strings in Go zijn byte-reeksen, en runen zijn individuele Unicode-tekens, wat correct werken met meertalige teksten mogelijk maakt.