Les fonctions anonymes du langage Go peuvent être utilisées pour créer des fonctions uniques ou des parties de fonctions plus grandes sans déclarer de nom de fonction. Sa syntaxe est func() { // function body }, qui accepte les paramètres et renvoie les résultats. Des exemples pratiques incluent le tri des tranches (tri par attributs spécifiques via la fonction sort.Slice et les fonctions anonymes) et le filtrage des données (filtrage des nombres impairs via la fonction filtre et les fonctions anonymes).
Fonctions anonymes en langage Go
Les fonctions anonymes sont des fonctions en langage Go qui n'ont pas besoin de déclarer un nom de fonction. Ils sont souvent utilisés pour créer rapidement des fonctions à usage unique ou dans le cadre d’une fonction plus vaste.
Syntaxe
func() { // 函数体 }
Les fonctions anonymes peuvent accepter des paramètres et renvoyer des résultats comme les fonctions ordinaires :
func(x int) int { return x * x }
Exemples pratiques
Trier les tranches
Nous pouvons utiliser des fonctions anonymes dans sort.Slice
fonctions pour trier les tranches en fonction du tri par attributs spécifiques des éléments :
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) }
Filtrer les données
Nous pouvons également utiliser des fonctions anonymes pour filtrer les données :
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 }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!