Junior — Middle
Vysvetlite mechanizmus fungovania uzáverov v programovaní.
sobes.tech AI
Odpoveď od AI
V programovaní je uzáver (closure) funkcia, ktorá "pamätá" a môže používať premenné z jej vonkajšieho rozsahu, aj keď táto vonkajšia funkcia už ukončila vykonávanie.
V jazyku Go sú uzávery často vytvárané pomocou anonymných funkcií, ktoré pristupujú k premenným z okolia. To umožňuje zachovať stav medzi volaniami funkcie.
Príklad:
package main
import "fmt"
func čítač() func() int {
count := 0
return func() int {
count++
return count
}
}
func main() {
c := čítač()
fmt.Println(c()) // 1
fmt.Println(c()) // 2
fmt.Println(c()) // 3
}
Tu funkcia čítač vracia uzáver, ktorý zvyšuje a vracia hodnotu count. Premenná count je udržiavaná v uzávere medzi volaniami.