Avertissement: je ne joue avec Go que depuis un jour maintenant, il y a donc de fortes chances que j'aie raté beaucoup de choses.
Est-ce que quelqu'un sait pourquoi il n'y a pas de support réel pour les génériques / templates / whatsInAName dans Go? Il existe donc un générique map
, mais qui est fourni par le compilateur, tandis qu'un programmeur Go ne peut pas écrire sa propre implémentation. Avec tous les discours sur le fait de rendre Go aussi orthogonal que possible, pourquoi puis-je UTILISER un type générique sans en CRÉER un nouveau?
Surtout en ce qui concerne la programmation fonctionnelle, il y a des lambdas, même des fermetures, mais avec un système de type statique manquant de génériques, comment écrire des fonctions génériques d'ordre supérieur comme filter(predicate, list)
? OK, les listes liées et autres peuvent être faites en interface{}
sacrifiant la sécurité du type.
Comme une recherche rapide sur SO / Google n'a révélé aucune idée, il semble que des génériques, voire pas du tout, seront ajoutés à Go après coup. Je fais confiance à Thompson pour faire bien mieux que les gars de Java, mais pourquoi garder les génériques à l'écart? Ou sont-ils planifiés et ne sont tout simplement pas encore mis en œuvre?
interface{}
sacrifie la sécurité de type statique . Cependant, c'est une plainte quelque peu étrange à faire lorsque vous mentionnez Scheme dans le paragraphe suivant, car Scheme n'a normalement pas de vérification de type statique.