Latest web development tutorials

Go Language Interface

Go Sprache stellt eine andere Datentyp, der die Schnittstelle ist, die zusammen mit der Definition aller Methoden gemeinsam haben, und jede andere Art implementiert diese Methoden ist diese Schnittstelle zu implementieren.

Beispiele

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

Beispiele

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()

}

In dem obigen Beispiel, definieren wir eine Schnittstelle Phone, die Schnittstelle, die einen Methodenaufruf hat (). Dann definieren wir eine Variable in der Hauptfunktionstyp Telefon innen, und an wen wurden NokiaPhone und IPhone zugeordnet. Dann rufen Sie () -Methode aufrufen, sind die Ausgabeergebnisse wie folgt:

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