On va dire que c'est du duck typing statique.
Une fonction attend comme paramètre un animal qui sait faire coin-coin et non un animal qui soit un canard. Donc tout animal qui sait faire coin-coin peut passer. Ce qui rend le code léger en Go c'est que l'animal qui fait coin-coin n'a pas besoin de spécifier qu'il ressemble à un canard, il implémente juste la fonction coin-coin.
La vérification est faite à la compilation donc la sécurité du typage est conservée et on bénéficie des outils associés.
Je ne sais pas pourquoi le duck-typing devrait être considéré comme dynamique. Je pense que c'est parce que le terme est venu de python.
[^] # Re: Juste de la sorcellerie
Posté par wilk (site web personnel, Mastodon) . En réponse au journal The Go Programming Language. Évalué à 2.
On va dire que c'est du duck typing statique.
Une fonction attend comme paramètre un animal qui sait faire coin-coin et non un animal qui soit un canard. Donc tout animal qui sait faire coin-coin peut passer. Ce qui rend le code léger en Go c'est que l'animal qui fait coin-coin n'a pas besoin de spécifier qu'il ressemble à un canard, il implémente juste la fonction coin-coin.
La vérification est faite à la compilation donc la sécurité du typage est conservée et on bénéficie des outils associés.
Je ne sais pas pourquoi le duck-typing devrait être considéré comme dynamique. Je pense que c'est parce que le terme est venu de python.