Qu'est-ce qu'une Interface ?
Fait partie de la section Logique & Flux du Journey GO de Coddy — leçon 12 sur 68.
Une interface en Go est comme un contrat qui définit les comportements qu'un type doit avoir, sans spécifier comment ces comportements sont implémentés. Considérez-la comme une collection de signatures de méthodes qui décrit ce que quelque chose peut faire.
Pour mieux comprendre les interfaces, imaginez une prise de courant dans votre maison.
La prise a une forme spécifique et fournit de l'électricité, mais elle ne se soucie pas de l'appareil que vous y branchez. Qu'il s'agisse d'une lampe, d'un chargeur de téléphone ou d'un ordinateur, tout appareil doté de la bonne forme de fiche peut se connecter et recevoir de l'énergie. La prise définit l'« interface » - les exigences de connexion.
En Go, une interface fonctionne de manière similaire. Elle définit un ensemble de signatures de méthodes qu'un type doit posséder pour se « brancher » sur cette interface. Tout type possédant toutes les méthodes requises satisfait automatiquement l'interface, indépendamment de ce que ce type peut faire d'autre ou de la manière dont il implémente ces méthodes.
Ce concept est puissant car il vous permet d'écrire du code qui fonctionne avec n'importe quel type capable d'effectuer certains comportements, rendant vos programmes plus flexibles et réutilisables. Tout comme différents appareils peuvent tous utiliser la même prise de courant, différents types Go peuvent tous satisfaire la même interface tant qu'ils possèdent les méthodes requises.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Aide-mémoire
Une interface en Go définit un contrat de signatures de méthodes qu'un type doit implémenter. Tout type possédant toutes les méthodes requises satisfait automatiquement l'interface.
Les interfaces permettent d'écrire du code flexible qui fonctionne avec n'importe quel type capable d'effectuer certains comportements, de la même manière que différents appareils peuvent utiliser la même prise de courant tant qu'ils ont la bonne forme de fiche.
Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Structures de contrôle avancées
Switch avec `fallthrough`Sortir de boucles imbriquéesContinuer une boucle spécifiqueL'instruction `goto`Récapitulatif - Contrôle de boucle avancé4Projet : Liste de tâches simple
Configuration du projetAjouter une tâche2Structures et Méthodes
Définir des méthodes sur des structuresReceveurs par valeurReceveurs par pointeurChoisir les receveursMéthodes vs FonctionsRécapitulatif - Comportement des structures5Les Maps en profondeur
Maps de StructsPointeurs comme valeurs de MapTester les Maps NilComparer des MapsRécapitulatif - Compteur de fréquence de mots3Interfaces (Les bases)
Qu'est-ce qu'une Interface ?Définir une InterfaceImplémenter une InterfaceUtiliser les types d'InterfaceInterface videAssertions de typeType SwitchRécapitulatif - Formes et comportements