English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Le langage Go fournit une fonction spéciale appelée fonction anonyme. Une fonction anonyme est une fonction sans nom. Cette fonction est très utile lorsque vous devez créer une fonction en ligne. Dans le langage Go, une fonction anonyme peut former un closure. Une fonction anonyme est également appeléeFonction littérale.
Syntaxe :
func(parameter_list) return_type { //Code //Si le return_type est fourni, utilisez la directive return //Si le return_type n'est pas fourni, ne //Utiliser la directive return return }()
package main import "fmt" func main() { //Fonction anonyme func() fmt.Println("Bienvenue! à oldtoolbag.com" }() }
Sortie :
Bienvenue! à oldtoolbag.com
Remarque importante :
En langage Go, vous pouvez affecter une fonction anonyme à une variable. Lorsque vous affectez une fonction à une variable, le type de la variable est le type de la fonction. Vous pouvez appeler cette variable comme une fonction, comme dans l'exemple suivant.
package main import "fmt" func main() { // Affecter une fonction anonyme à une variable value := func(){ fmt.Println("Bienvenue! à oldtoolbag.com" } value() }
Sortie :
Bienvenue! à oldtoolbag.com
Vous pouvez également passer des paramètres dans une fonction anonyme.
package main import "fmt" func main() { //Passer des paramètres dans une fonction anonyme func(ele string){ fmt.Println(ele) }("w3codebox" }
Sortie :
w3codebox
Vous pouvez également passer une fonction anonyme en paramètre à d'autres fonctions.
package main import "fmt" //Passer une fonction anonyme en paramètre func GFG(i func(p, q string)string){ fmt.Println(i("Geeks", "for")) } func main() { value:= func(p, q string) string{ return p + q + "Geeks" } GFG(value) }
Sortie :
w3codebox
Vous pouvez également retourner une fonction anonyme à partir d'une autre fonction.
package main import "fmt" //Retournez la fonction anonyme func GFG() func(i, j string) string{ myf := func(i, j string)string{ return i + j + "w3codebox" } return myf } func main() { value := GFG() fmt.Println(value("Bienvenue à", " ")) }
Sortie :
Bienvenue à w3codebox