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 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(参数) 返回类型 ... }
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 } }
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
Avantages
Notes
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!