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