Junior — Middle
Môžete vysvetliť, čo sa rozumie pod pojmom 'zachytávanie premennej' v kontexte programovania?
sobes.tech AI
Odpoveď od AI
V programovaní znamená pojem «zachytenie premennej», že funkcia alebo uzáver si zachováva prístup k premenným z vonkajšieho rozsahu, aj po tom, čo tento rozsah už skončil.
Napríklad v jazyku Go môžete vytvoriť funkciu, ktorá vracia inú funkciu využívajúcu premennú z vonkajšej funkcie:
func makeAdder(x int) func(int) int {
return func(y int) int {
return x + y // 'x' zachytené uzáverom
}
}
func main() {
addFive := makeAdder(5)
fmt.Println(addFive(3)) // Vytlačí 8
}
Tu vnútorná funkcia «zachytí» premennú x z vonkajšej funkcie makeAdder. To umožňuje zachovať stav medzi volaniami a vytvárať flexibilnejšie konštrukcie.