Junior — Middle
Можете ли објаснити како је у програмирању реализована структура стринга и од чега се састоји?
sobes.tech АИ
Одговор од АИ
U Go-u, niz (string) je nepromenljiv niz bajtova, obično predstavljajući tekst u kodiranju UTF-8. Interno, niz je implementiran kao struktura sa dva polja: pokazivačem na niz bajtova i dužinom.
Primer pojednostavljene strukture niza u Go-u:
// stringHeader — interna struktura niza
import "reflect"
var s string = "hello"
header := (*reflect.StringHeader)(unsafe.Pointer(&s))
// header.Data — pokazivač na bajtove
// header.Len — dužina niza
Nizovi u Go-u su nepromenljivi, pa svaka operacija koja menja niz kreira novu kopiju.