fonction qui se renvoie elle même
type AB func()AB
package main
type AB func() AB
func main () {
var obj AB
obj = func() (ab AB) {
print(« ee »)
ab = obj
return
}
obj()()()()()()()()()()()()()()()()()()()()
}
En golang faire une fonction qui se renvoie elle même, peut sembler peut évident voir impossible à mettre en place. Car chaque return dois renvoyer une fonction qui return une fonction qui return une fonction.
Bref une histoire de pouper russe qu’il faudrait écrire à la main une infinité de fois.
package main
func g() (func()(func ()(func()(func()(…….)))))
func main () {
}
Heuresement, en Golang vous pouver créer un type qui pourras lui même se retourné.
type montype func()montype
ici on créé un type montype qui est une fonction qui return une variable de type montype.
Ainsi on évite d’écrire une une poupé russe infinie. et l’on peut même changer la function à condition que celle-ci return le type montype.