Sobes.tech
Junior — Middle

Kunt u uitleggen wat wordt bedoeld met 'variabele capturing' in de context van programmeren?

sobes.tech AI

Antwoord van AI

In programmeren betekent de term «variabele vastleggen» dat een functie of closure toegang behoudt tot variabelen uit de externe scope, zelfs nadat dat gebied al is voltooid.

Bijvoorbeeld, in Go kun je een functie maken die een andere functie teruggeeft die een variabele uit de externe functie gebruikt:

func makeAdder(x int) func(int) int {
    return func(y int) int {
        return x + y // 'x' vastgelegd door de closure
    }
}

func main() {
    addFive := makeAdder(5)
    fmt.Println(addFive(3)) // Drukt 8 af
}

Hier «vastlegt» de interne functie de variabele x uit de externe functie makeAdder. Dit maakt het mogelijk om de staat tussen oproepen te behouden en flexibelere constructies te creëren.