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.