Sobes.tech
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.