Junior — Middle
Kako se vrši rezervacija memorije za slice u programskom jeziku?
sobes.tech АИ
Одговор од АИ
U jeziku Go, rez je struktura koja sadrži pokazivač na niz, dužinu i kapacitet. Kada se kreira rez, memorija za elemente se rezerviše u nizu na koji pokazuje.
Kada se rez kreira pomoću funkcije make, na primer make([]int, length, capacity), dodeljuje se niz sa navedenim kapacitetom. Ako prilikom dodavanja elemenata kapacitet bude prekoračen, Go automatski dodeljuje novi, veći niz, kopira podatke i ažurira pokazivač reza.
Primer:
s := make([]int, 0, 5) // rez sa dužinom 0 i kapacitetom 5
s = append(s, 1, 2, 3) // dodavanje elemenata
Na ovaj način, rezervacija memorije se vrši unapred za zadati kapacitet, što povećava efikasnost pri dodavanju elemenata.