Junior — Middle
Erklären Sie den Funktionsmechanismus von Closures in der Programmierung.
sobes.tech KI
Antwort von AI
In der Programmierung ist eine Closure eine Funktion, die sich "erinnert" und Variablen aus ihrem äußeren Gültigkeitsbereich verwenden kann, auch wenn diese äußere Funktion bereits beendet wurde.
In Go werden Closures häufig mit anonymen Funktionen erstellt, die auf Variablen aus dem umgebenden Kontext zugreifen. Dies ermöglicht es, den Zustand zwischen den Funktionsaufrufen zu bewahren.
Beispiel:
package main
import "fmt"
func Zähler() func() int {
count := 0
return func() int {
count++
return count
}
}
func main() {
c := Zähler()
fmt.Println(c()) // 1
fmt.Println(c()) // 2
fmt.Println(c()) // 3
}
Hier gibt die Funktion Zähler eine Closure zurück, die den Wert von count erhöht und zurückgibt. Die Variable count bleibt in der Closure zwischen den Aufrufen erhalten.