Latest web development tutorials

Go Interface Langue

langue Go offre un autre type de données qui est l'interface qui, avec la définition de toutes les méthodes ont en commun, et tout autre type implémente ces méthodes consiste à implémenter cette interface.

Exemples

/* 定义接口 */
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] {
   /* 方法实现*/
}

Exemples

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 définissons une interface téléphone, l'interface qui a un appel de méthode (). Ensuite, nous définissons une variable dans le principal type de fonction téléphone à l'intérieur, et à qui a assigné à NokiaPhone et IPhone. Ensuite, appelez méthode call (), les résultats de sortie sont les suivantes:

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