Junior — Middle
Magyarázza el a zárójelek működési mechanizmusát a programozásban.
sobes.tech MI
Válasz az MI-től
A programozásban a zárójel (closure) egy olyan függvény, amely "emlékszik" és képes használni a külső környezetéből származó változókat, még akkor is, ha ez a külső függvény már befejeződött.
Go nyelvben a zárójeleket gyakran hoznak létre névtelen függvények segítségével, amelyek hozzáférnek a környező kontextus változóihoz. Ez lehetővé teszi az állapot megőrzését a függvényhívások között.
Példa:
package main
import "fmt"
func számláló() func() int {
count := 0
return func() int {
count++
return count
}
}
func main() {
c := számláló()
fmt.Println(c()) // 1
fmt.Println(c()) // 2
fmt.Println(c()) // 3
}
Itt a számláló függvény egy olyan zárójelet ad vissza, amely növeli és visszaadja a count értékét. A count változó a zárójelben marad a hívások között.