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