Sobes.tech
Junior — Middle

U kom delu memorije se nalazi niz podataka tokom izvršavanja programa?

sobes.tech АИ

Одговор од АИ

U Go, nizovi se mogu nalaziti u različitim oblastima memorije u zavisnosti od konteksta:

  • Ako je niz deklarisan kao lokalna promenljiva unutar funkcije i ne prelazi svoje granice, obično se nalazi na steku.
  • Ako se niz dinamički kreira (na primer, pomoću new ili segmenta koji referencira niz), nalazi se na hrpi.

Važno je razumeti da su segmenti u Go strukture koje sadrže pokazivač na niz, dužinu i kapacitet. Sam niz može biti na hrpi ili na steku, u zavisnosti od mesta gde je kreiran i kako se koristi.

Primer:

func primer() {
    var arr [5]int       // nalazi se na steku
    slice := make([]int, 5) // niz na hrpi
    _ = arr
    _ = slice
}