Interface ist in der Go-Sprache ein Typ, der eine Reihe von Methoden definiert. Interface ist ein abstrakter Typ, der das Verhalten eines Objekts beschreibt, ohne sich um den spezifischen Typ des Objekts zu kümmern Die Verwendung von Schnittstellen soll die Flexibilität des Codes verbessern und den Code modularer und erweiterbarer machen. Durch die Schnittstelle kann allgemeinerer und flexiblerer Code geschrieben werden, wodurch das Programm einfacher zu verstehen und zu warten ist .
Das Betriebssystem dieses Tutorials: Windows 10-System, Dell G3-Computer.
In der Go-Sprache ist eine Schnittstelle ein Typ, der eine Reihe von Methoden definiert. Eine Schnittstelle ist ein abstrakter Typ, der das Verhalten eines Objekts beschreibt, ohne sich um seinen konkreten Typ zu kümmern. Man sagt, dass ein Typ eine Schnittstelle implementiert, solange er alle durch die Schnittstelle definierten Methoden implementiert.
Die Definition einer Schnittstelle lautet wie folgt:
type myInterface interface { Method1() returnType1 Method2(parameterType) returnType2 // ... }
wobei myInterface der Name der Schnittstelle ist und die in der Schnittstelle enthaltenen Methoden in geschweiften Klammern aufgeführt sind. Jede Methode verfügt über einen Namen, eine Parameterliste und eine Rückgabewertliste. In einer Schnittstelle sind keine Variablen enthalten.
Zum Beispiel haben wir eine einfache Schnittstellenform definiert, die eine Methode zur Berechnung der Fläche und eine Methode zur Berechnung des Umfangs enthält:
type Shape interface { Area() float64 Perimeter() float64 }
Eine Schnittstelle ist ein Vertrag. Wenn ein Typ alle von einer Schnittstelle definierten Methoden implementiert, können wir dies tun Sagen Sie, dass dieser Typ diese Schnittstelle implementiert. Diese Implementierung ist implizit und muss nicht explizit deklariert werden.
Wenn wir beispielsweise einen Typ „Circle“ haben, der Methoden zur Berechnung von Fläche und Umfang enthält, können wir sagen, dass der Typ „Circle“ die Schnittstelle „Shape“ implementiert:
type Circle struct { radius float64 } func (c Circle) Area() float64 { return math.Pi * c.radius * c.radius } func (c Circle) Perimeter() float64 { return 2 * math.Pi * c.radius }
Im obigen Beispiel implementiert der Typ „Circle“ die Schnittstelle „Shape“ wie definiert Wir können also sagen, dass der Typ „Circle“ die Schnittstelle „Shape“ implementiert.
Die Verwendung von Schnittstellen kann die Flexibilität des Codes verbessern und ihn modularer und erweiterbarer machen. Über Schnittstellen können wir allgemeineren und flexibleren Code schreiben, wodurch das Programm einfacher zu verstehen und zu warten ist.
Das obige ist der detaillierte Inhalt vonWas ist die Schnittstelle in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!