Sobes.tech
Junior — Middle

Ko odlučuje da li je dozvoljeno postavljanje određenog objekta u memoriju?

sobes.tech АИ

Одговор од АИ

Dodela objekata u memoriji u Go (Golang) je određena od strane kompajlera i runtime okruženja.

  • Kompajler odlučuje gde da smesti promenljivu: u stek ili u hrpu, na osnovu analize njenog opsega i trajanja života (analiza bekstva).
  • Ako promenljiva «pobeže» iz funkcije (npr. vraća se ili se koristi nakon izlaska iz funkcije), ona se smešta u hrpu.
  • U suprotnom, u stek, što je brže.

Tako, odluka o smeštaju objekta u memoriju se donosi od strane kompajlera u fazi kompilacije, a runtime upravlja alokacijom i sakupljanjem smeća za objekte u hrpi.