Sobes.tech
Middle

Go-da bağlama nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Go-da bağlama, ətraf mühitin qiymətlərini "xatırlayan" və xarici funksiyanın bitməsindən sonra belə onları saxlayan funksiyadır. Bu, xarici dəyişənləri ələ keçirməyə və içində istifadə etməyə imkan verir.

// Xarici funksiya
func makeCounter() func() int {
    count := 0 // Əldə ediləcək dəyişən

    // Daxili funksiya (bağlama)
    return func() int {
        count++ // count-u ələ keçir və dəyişdir
        return count
    }
}

// İstifadə nümunəsi
func main() {
    counter1 := makeCounter() // Birinci bağlamanı yaradın
    fmt.Println(counter1()) // Çıxış: 1
    fmt.Println(counter1()) // Çıxış: 2

    counter2 := makeCounter() // İkinci bağlamanı yaradın (öz count ilə)
    fmt.Println(counter2()) // Çıxış: 1
}