Sobes.tech
Junior — Middle

Kako se implementiraju nizovi i kako su povezani sa runama u jeziku Go?

sobes.tech АИ

Одговор од АИ

U jeziku Go, nizovi su predstavljeni tipom string, koji je nepromenljiva sekvenca bajtova, obično kodirana u UTF-8. To znači da je niz sekvenca bajtova, a ne karaktera.

Rune (rune) je tip koji predstavlja Unicode kodnu tačku (int32). Za rad sa Unicode karakterima u nizu, niz se konvertuje u sekvencu runa, što omogućava ispravno rukovanje višebajtnih karaktera.

Primer:

s := "Привет"
for i, r := range s {
    fmt.Printf("%d: %c\n", i, r) // i — indeks bajta, r — runa (karakter)
}

runes := []rune(s) // konverzija niza u sekvencu runa
fmt.Println(runes[0]) // prvi karakter kao runa

Dakle, u Go-u, nizovi su sekvence bajtova, a rune su pojedinačni Unicode karakteri, što omogućava ispravan rad sa višejezičnim tekstovima.