Sinon ce que tu décris c'est tout simplement le fonctionnement des interfaces jusqu'alors : une interface c'est juste un dictionnaire de fermetures. D'ailleurs pourquoi passer par des fermetures à sa sauce quand le langage fournit nativement un tel mécanisme ?
Je ne sais pas.
Un cas d'exemple simple et générique impossible à rendre, au niveau des types, avec les interfaces (ou fermetures) : le tri d'un tableau. Quand on a un tableau sur un type ordonné (que le type soit ordonné cela s'exprime par le fait qu'il satisfait une certaine interface), alors on peut trier (par ordre croissant ou décroissant) ce tableau : le type de sortie dépend du type de l'entrée, en sortie on a un tableau sur le même type de données qu'en entrée.
Ceux qui passent par cette solution (ça m'est arrivé par exemple parce qu'avec du typage nominal tu n'a pas toujours la possibilité de décrire le type qui te convient) :
soit n'ont pas besoin de ça
soit tu te crée que des méthodes et pas des fonctions. Tu modifie les paramètres que l'on te donne plutôt que de retourner quelque chose
[^] # Re: Trou de mémoire
Posté par barmic 🦦 . En réponse au lien Go 1.18 Beta : la généricité enfin !. Évalué à 3.
Je ne sais pas.
Ceux qui passent par cette solution (ça m'est arrivé par exemple parce qu'avec du typage nominal tu n'a pas toujours la possibilité de décrire le type qui te convient) :
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll