Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie die Golang-Schnittstelle

So verwenden Sie die Golang-Schnittstelle

PHPz
PHPzOriginal
2023-04-24 09:11:37545Durchsuche

In Golang ist eine Schnittstelle (Interface) ein Typ, der den Satz von Methoden definiert, die ein Objekt haben sollte. Durch die Verwendung von Schnittstellen können wir Objekte auf abstrakte Weise beschreiben, ohne uns um die spezifische Implementierung des Objekts kümmern zu müssen.

Das Deklarationsformat der Schnittstelle ist wie folgt:

Typ Schnittstellenname Schnittstelle {

方法1(参数1 类型1, 参数2 类型2, ...) (返回值1 类型1, 返回值2 类型2, ...)
方法2(参数1 类型1, 参数2 类型2, ...) (返回值1 类型1, 返回值2 类型2, ...)
...

}

wobei der Schnittstellenname ein beliebiger zulässiger Bezeichner sein kann; die Methode kann null oder mehr Parameter und null oder mehr Rückgabewerte haben. und die Arten von Parametern und Rückgabewerten können beliebige Typen sein, einschließlich Schnittstellentypen.

Hier ist ein einfaches Beispiel, das zeigt, wie man eine Schnittstelle definiert und damit zwei verschiedene Typen beschreibt:

package main

import "fmt"

// Definieren Sie die Schnittstelle
type Shape interface {

Area() float64

}

// Definieren Sie die Struktur Circle
type Circle struct {

X, Y, Radius float64

}

// Definieren Sie die Methode Area(), um die Shape-Schnittstelle zu implementieren
func (c Circle) Area() float64 {

return 3.14 * c.Radius * c.Radius

}

/ / Definieren Sie die Struktur Rechteck
Typ Rechteckstruktur {

X1, Y1, X2, Y2 float64

}

// Definieren Sie die Methode Area(), um die Shape-Schnittstelle zu implementieren
func (r Rechteck) Area() float64 {

return (r.X2 - r.X1) * (r.Y2 - r.Y1)

}

// Definieren Sie die Funktion GetArea akzeptiert einen Shape-Typparameter und ruft seine Area()-Methode auf Shape wird definiert und es werden zwei verschiedene Typen, Circle und Rechteck, definiert, die beide die Area()-Methode der Shape-Schnittstelle implementieren. Wir definieren außerdem eine Funktion namens GetArea, die einen Parameter vom Typ Shape akzeptiert und seine Area()-Methode aufruft, um die Fläche zu berechnen.

In der Hauptfunktion haben wir jeweils ein Kreisobjekt und ein Rechteckobjekt erstellt und sie an die GetArea-Funktion übergeben, um ihre Flächen zu berechnen. Da sowohl der Kreis- als auch der Rechtecktyp die Schnittstelle „Form“ implementieren, können beide als Parameter an die Funktion „GetArea“ übergeben werden, um die Fläche zu berechnen.

Kurz gesagt ist die Schnittstelle ein sehr wichtiges Konzept in Golang. Sie ermöglicht es uns, Objekte auf abstrakte Weise zu beschreiben, ohne uns um die spezifische Implementierung des Objekts kümmern zu müssen. Indem wir die Verwendung von Schnittstellen beherrschen, können wir Golang-Code besser entwerfen und schreiben.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Golang-Schnittstelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn