Sobes.tech
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.