Maison > développement back-end > Golang > Comment utiliser les visages en langage Go ?

Comment utiliser les visages en langage Go ?

王林
Libérer: 2024-04-03 14:12:02
original
360 Les gens l'ont consulté

Utiliser des interfaces dans Go implique : définir une interface, y compris les signatures de méthodes. Implémenter des interfaces et fournir des implémentations de méthodes. Convertissez le type en type d'interface et appelez ses méthodes. Les interfaces favorisent la réutilisation du code, la facilité de test et l'extensibilité.

Comment utiliser les visages en langage Go ?

Comment utiliser les interfaces dans Go ?

L'interface est un moyen de définir des contrats en langage Go, qui fournit un ensemble de signatures de méthodes. Tout type qui implémente cette interface doit fournir des implémentations de ces méthodes.

Syntaxe

La syntaxe de l'interface est la suivante :

type 接口名 interface {
    方法1() 返回类型
    方法2(参数) 返回类型
    ...
}
Copier après la connexion

Cas pratique : Interface du comparateur

Supposons que nous ayons une Comparable 接口,定义了一个 Compare méthode pour comparer deux types. Nous pouvons implémenter cette interface pour fournir une fonctionnalité de comparaison pour nos propres types.

type Comparable interface {
    Compare(other Comparable) int
}

type Person struct {
    Name  string
    Age   int
    Hobby string
}

func (p Person) Compare(other Comparable) int {
    switch other.(type) {
    case Person:
        o := other.(Person)
        if p.Age > o.Age {
            return 1
        } else if p.Age < o.Age {
            return -1
        }
        return 0
    default:
        return -1
    }
}
Copier après la connexion

Utiliser des méthodes

Après avoir implémenté une interface, nous pouvons convertir son instance en type d'interface et appeler ses méthodes.

var comparable Comparable = Person{"John", 30, "Coding"}
result := comparable.Compare(Person{"Jane", 25, "Reading"})
fmt.Println(result) // 预期输出:1
Copier après la connexion

Avantages

  • Réutilisation du code : Les interfaces nous permettent de créer du code générique qui peut être utilisé avec n'importe quel type qui implémente un contrat spécifique.
  • Facile à tester : Nous pouvons tester le code au niveau de l'interface sans nous soucier de l'implémentation sous-jacente.
  • Extensibilité : Nous pouvons facilement ajouter de nouvelles méthodes à l'interface selon les besoins et bénéficier à tous les types implémentés.

Notes

  • Assurez-vous de fournir toutes les méthodes requises lors de la mise en œuvre de l'interface.
  • Les interfaces appliquent la vérification de type, mais n'imposent pas la mise en œuvre des méthodes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal