Anonyme Funktionen und Abschlüsse: Anonyme Funktionen sind namenlose Funktionen, die spontan erstellt werden, um eine bestimmte Aufgabe auszuführen. Abschlüsse sind Variablen, die den Zugriff auf externe Variablen innerhalb einer anonymen Funktion ermöglichen. In Go werden sie mit der func()-Syntax deklariert. Anonyme Funktionen und Abschlüsse können zum Übergeben von Argumenten, zum Speichern in Variablen oder in der Praxis zum Sortieren von Slices und zur Ereignisbehandlung verwendet werden.
Anonyme Funktionen und Abschlüsse in Go
Einführung
Anonyme Funktionen sind Funktionen in Go, die nicht explizit benannt sind und als Ausdrücke verwendet werden können. Ein Abschluss ist eine anonyme Funktion, die einen Verweis auf eine externe Variable enthält, der auch nach Rückkehr der Funktion bestehen bleibt.
Anonyme Funktionen
Deklarieren Sie anonyme Funktionen mit der func()
-Syntax:
func() { fmt.Println("这是一个匿名函数") }
Anonyme Funktionen können als Argumente an andere Funktionen übergeben oder in Variablen gespeichert werden:
func callAnon(anon func()) { anon() } var anonFunc = func() { fmt.Println("这是一个存储在变量中的匿名函数") }
Abschlüsse
Abschlüsse ermöglichen den Zugriff auf anonyme Funktionen außen Bereiche. Diese Variablen werden Abschlussvariablen genannt.
var x = 10 anon := func() { fmt.Println(x) // 访问闭包变量 } anon() // 输出:10
Practical Case
type Employee struct { Name string Age int } func SortEmployeesByAge(employees []Employee) { sort.Slice(employees, func(i, j int) bool { return employees[i].Age < employees[j].Age }) }
type Button struct { onClick func() } func (b *Button) AddClickListener(f func()) { b.onClick = f }
Das obige ist der detaillierte Inhalt vonOpen-Source-Projekte und gemeinsame Nutzung von Ressourcen für anonyme Golang-Funktionen und -Abschlüsse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!