Maison >développement back-end >Golang >Comment écrire une interface en langage Go

Comment écrire une interface en langage Go

王林
王林original
2021-02-04 11:55:142718parcourir

La définition de l'interface en langage Go : [type interface_name interface {method_name1 [return_type]}]. Une interface définit toutes les méthodes courantes. Tout autre type qui implémente ces méthodes implémentera cette interface.

Comment écrire une interface en langage Go

L'environnement d'exploitation de cet article : système Windows10, Go 1.11.2, ordinateur Thinkpad T480.

Le langage Go fournit un autre type de données, l'interface, qui définit ensemble toutes les méthodes courantes. Tout autre type qui implémente ces méthodes implémentera cette interface.

Exemple :

/* 定义接口 */
type interface_name interface {
   method_name1 [return_type]
   method_name2 [return_type]
   method_name3 [return_type]
   ...
   method_namen [return_type]
}

/* 定义结构体 */
type struct_name struct {
   /* variables */
}

/* 实现接口方法 */
func (struct_name_variable struct_name) method_name1() [return_type] {
   /* 方法实现 */
}
...
func (struct_name_variable struct_name) method_namen() [return_type] {
   /* 方法实现*/
}

Exemple :

package main

import (
    "fmt"
)

type Phone interface {
    call()
}

type NokiaPhone struct {
}

func (nokiaPhone NokiaPhone) call() {
    fmt.Println("I am Nokia, I can call you!")
}

type IPhone struct {
}

func (iPhone IPhone) call() {
    fmt.Println("I am iPhone, I can call you!")
}

func main() {
    var phone Phone

    phone = new(NokiaPhone)
    phone.call()

    phone = new(IPhone)
    phone.call()

}

Dans l'exemple ci-dessus, nous avons défini une interface Phone, qui possède une méthode call(). Ensuite, nous avons défini une variable de type de téléphone dans la fonction principale et l'avons attribuée respectivement à NokiaPhone et IPhone. Appelez ensuite la méthode call() et le résultat de sortie est le suivant :

I am Nokia, I can call you!
I am iPhone, I can call you!

Recommandations associées : tutoriel golang

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!

Déclaration:
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