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.