Dans ton exemple f et v ne sont pas capturés puisqu'ils sont passés en paramètres.
Les méthodes c'est exactement comme si on écrivait Abs(f MyFloat)
// une interface typeRenduinterface{Rendu(i,jint)string}
Oui, c'est exactement ce que je décrit, une interface qui utilise une fonction de fermeture. Ce qui est capturé c'est le tableau.
L'algo n'a pas à traiter le tableau, il va juste appeler les cellules par leur index.
Ceci à la place d'une interface, beaucoup plus classique qui serait :
En Python je redéfinissais la méthode Rendu de ma cellule et cette méthode accédait aux cellules voisines par quelque chose comme self.parent.cellules[i-1]...
En Go je pourrai avoir une interface pour récupérer les cellules voisines
[^] # Re: Trou de mémoire
Posté par wilk (site web personnel, Mastodon) . En réponse au lien Go 1.18 Beta : la généricité enfin !. Évalué à 2.
Dans ton exemple
fetvne sont pas capturés puisqu'ils sont passés en paramètres.Les méthodes c'est exactement comme si on écrivait
Abs(f MyFloat)Oui, c'est exactement ce que je décrit, une interface qui utilise une fonction de fermeture. Ce qui est capturé c'est le tableau.
L'algo n'a pas à traiter le tableau, il va juste appeler les cellules par leur index.
Ceci à la place d'une interface, beaucoup plus classique qui serait :
En Python je redéfinissais la méthode Rendu de ma cellule et cette méthode accédait aux cellules voisines par quelque chose comme
self.parent.cellules[i-1]...En Go je pourrai avoir une interface pour récupérer les cellules voisines
Mais du coup je perdrais mon type de cellule... C'est là qu'avec des casts ou du generique ce serait faisable mais au final beaucoup plus compliqué.