Sobes.tech
Junior — Middle

Tudná magyarázni, hogy mit értünk a 'változó fogásán' a programozás kontextusában?

sobes.tech MI

Válasz az MI-től

A programozásban a „változó fogás” kifejezés azt jelenti, hogy egy függvény vagy lezárás hozzáférést tart fenn a külső láthatósági területen lévő változókhoz, még akkor is, ha ez a terület már befejeződött.

Például, Go nyelven létrehozhatsz egy olyan függvényt, amely egy másik függvényt ad vissza, amely egy külső függvény változóját használja:

func makeAdder(x int) func(int) int {
    return func(y int) int {
        return x + y // 'x' lezárás által fogva
    }
}

func main() {
    addFive := makeAdder(5)
    fmt.Println(addFive(3)) // 8-at ír ki
}

Itt, a belső függvény „fogatja” a x változót a külső makeAdder függvényből. Ez lehetővé teszi az állapot megőrzését a hívások között, és rugalmasabb szerkezetek létrehozását.