Sobes.tech
Junior — Middle

Kus mälus paiknevad funktsiooni sees olevad lokaalsed muutujad?

sobes.tech AI

Vastus AI-lt

Go keeles sisemiselt hoitakse kohalikud muutujad tavaliselt kutsesilmal. Kui funktsioon kutsutakse, sellele eraldatakse ala stakkil, kus hoitakse kõiki kohalikke muutujaid ja parameetreid. Kuid kui kohalik muutuja "läheb välja" funktsioonist (näiteks tagastatakse viit selle peale), võib kompilaator teha escape-analüüsi ja paigutada sellise muutuja heap-ile, et see jääks kättesaadavaks pärast funktsiooni lõpetamist.