Anonyme Funktionen der Go-Sprache können verwendet werden, um einmalige Funktionen oder Teile größerer Funktionen zu erstellen, ohne einen Funktionsnamen zu deklarieren. Seine Syntax ist func() { // Funktionskörper }, die Parameter akzeptiert und Ergebnisse zurückgibt. Zu den praktischen Beispielen gehören das Sortieren von Slices (Sortieren nach bestimmten Attributen über die Funktion sort.Slice und anonyme Funktionen) und das Filtern von Daten (Filtern ungerader Zahlen über die Filterfunktion und anonyme Funktionen).
Anonyme Funktionen in der Go-Sprache
Anonyme Funktionen sind Funktionen in der Go-Sprache, die keinen Funktionsnamen deklarieren müssen. Sie werden häufig zur schnellen Erstellung einmaliger Funktionen oder als Teil einer größeren Funktion verwendet.
Syntax
func() { // 函数体 }
Anonyme Funktionen können Parameter akzeptieren und Ergebnisse zurückgeben, genau wie gewöhnliche Funktionen:
func(x int) int { return x * x }
Praktische Beispiele
Slices sortieren
Wir können anonyme Funktionen in sort.Slice
-Funktionen verwenden, um Slices basierend auf Sort zu sortieren nach spezifischen Attributen von Elementen:
package main import ( "fmt" "sort" ) type Person struct { Name string Age int } func main() { people := []Person{ {"John", 25}, {"Mary", 30}, {"Bob", 20}, } // 根据 age 排序 sort.Slice(people, func(i, j int) bool { return people[i].Age < people[j].Age }) fmt.Println(people) }
Daten filtern
Wir können auch anonyme Funktionen verwenden, um Daten zu filtern:
package main import "fmt" func main() { nums := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} // 过滤奇数 oddNums := filter(nums, func(x int) bool { return x % 2 != 0 }) fmt.Println(oddNums) } func filter(arr []int, f func(int) bool) []int { result := []int{} for _, v := range arr { if f(v) { result = append(result, v) } } return result }
Das obige ist der detaillierte Inhalt vonAnonyme Funktion für Golang-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!