Junior — Middle
Proqram işləyərkən yığın istifadəsi necə dəyişir?
sobes.tech Süni İntellekt
AI-dan cavab
Proqram işlədərkən, yığın funksiyaların çağırışları, yerli dəyişənlər və icra axını idarə etmək üçün məlumatların saxlanması üçün istifadə olunur.
Funktsiya çağırıldıqda, çağırış konteksti (çərçivə) yığına yerləşdirilir və aşağıdakıları ehtiva edir:
- Geri dönüş ünvanı (funksiya tamamlandıqdan sonra haraya qayıtmaq)
- Yerli dəyişənlər
- Funktsiya parametrləri
Funktsiya tamamlandıqda, onun çərçivəsi yığından silinir.
Go dilində, yığın ehtiyac olduqda dinamik olaraq böyüyür və kiçilir, bu da yaddaşın səmərəli istifadəsini təmin edir. Məsələn, rekursiv funksiyanın çağırışında, yığın genişlənir və funksiyadan çıxarkən kiçilir.
Nümunə:
func factorial(n int) int {
if n == 0 {
return 1
}
return n * factorial(n-1)
}
func main() {
result := factorial(5)
fmt.Println(result) // 120
}
Burada, hər factorial çağırışı yığına yeni çərçivə əlavə edir və funksiyadan dönüşdə silinir.