• [^] # Re: Testez-le, ensuite vous pourrez critiquer

    Posté par . En réponse à la dépêche Quelques nouvelles rapides du langage Go. Évalué à 3.

    Exactement, quand j'ai vu les interfaces en Go je me suis tout de suite dit que j'avais déjà ça avec les templates en C++ ou en D. Cependant l'implémentation des interfaces Go ne me semblent pas claire. Quand est-ce que les mécanisme des interfaces sont ils résolu? à la compilation ou à l’exécution?
    A la lecture de la documentation, j'en conclu que Go utilise des mécanisme dynamiques (résolution à l’exécution) et que les objets Go doivent embarquer une table virtuelle des méthodes pour permettre la résolution dynamique, voir plus lourds comme une table de signature de fonctions.
    J'imagine quand même que quand la résolution peut se faire de manière statique (à la compilation), Go doit optimiser et éviter des appels à cette table, sinon, j'ai peur pour les performances.
    Quelqu'un qui s'y connait dans l'implémentation des mécanismes de Go peut-il nous donner des exemple et nous pointer du doigt quand est-ce que la résolution se fait de manière statique et quand elle se fait de manière dynamique?