Fermetures (closures)
Contexte
Section intitulée « Contexte »Les fonctions Go peuvent être anonymes et former des fermetures (closures). Une fermeture est une valeur fonction qui référence des variables extérieures à son corps. Elle capture ces variables et peut les utiliser même après le retour de la fonction externe.
Créer une fermeture qui retourne une fonction incrémentant un compteur.
Code exemple
Section intitulée « Code exemple »package main
import "fmt"
func compteur() func() int { count := 0 return func() int { count++ return count }}
func main() { inc := compteur() fmt.Println(inc()) fmt.Println(inc()) fmt.Println(inc())
autre := compteur() fmt.Println(autre())}1231