Junior — Middle
Можете ли објаснити шта подразумева термин 'захват променљиве' у контексту програмирања?
sobes.tech АИ
Одговор од АИ
У програмирању, термин «ухватање променљиве» значи да функција или затварање задржава приступ променљивама из спољашњег опсега, чак и након што је та област већ завршила своје извршавање.
На пример, у Go-ју можете креирати функцију која враћа другу функцију која користи променљиву из спољашње функције:
func makeAdder(x int) func(int) int {
return func(y int) int {
return x + y // 'x' ухваћен затварањем
}
}
func main() {
addFive := makeAdder(5)
fmt.Println(addFive(3)) // Исписаће 8
}
Овде, унутрашња функција «ухвата» променљиву x из спољашње функције makeAdder. Ово омогућава да се одржи стање између позива и да се креирају флексибилније конструкције.