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.