Fonctions et fermetures anonymes : les fonctions anonymes sont des fonctions sans nom créées à la volée pour effectuer une tâche spécifique. Les fermetures sont des variables qui permettent d'accéder à des variables externes au sein d'une fonction anonyme. En Go, ils sont déclarés en utilisant la syntaxe func(). Les fonctions et fermetures anonymes peuvent être utilisées pour transmettre des arguments, les stocker dans des variables ou, en pratique, pour trier les tranches et gérer les événements.
Fonctions anonymes et fermetures dans Go
Introduction
Les fonctions anonymes sont des fonctions dans Go qui ne sont pas explicitement nommées et peuvent être utilisées comme expressions. Elles sont utilisées pour créer des tâches ponctuelles ou des rappels. Une fermeture est une fonction anonyme qui contient une référence à une variable externe qui persiste même après le retour de la fonction.
Fonctions anonymes
Déclarez les fonctions anonymes en utilisant la syntaxe func()
:
func() { fmt.Println("这是一个匿名函数") }
Les fonctions anonymes peuvent être transmises comme arguments à d'autres fonctions ou stockées dans des variables :
func callAnon(anon func()) { anon() } var anonFunc = func() { fmt.Println("这是一个存储在变量中的匿名函数") }
Fermetures
Les fermetures permettent un accès anonyme aux fonctions Variables en externe portées. Ces variables sont appelées variables de fermeture.
var x = 10 anon := func() { fmt.Println(x) // 访问闭包变量 } anon() // 输出:10
Cas pratique
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 }
Projets et ressources Open source
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!