English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In der Programmiersprache Go sind Schnittstellen eine Sammlung von Methodensignaturen und auch ein Typ, was bedeutet, dass Sie Variablen des Schnittstellen-Typs erstellen können. In der Programmiersprache Go können Sie mehrere Schnittstellen mithilfe der folgenden Syntax in Ihrem Programm erstellen:
type interface_name interface{ //Methodensignatur }
Hinweis:In der Programmiersprache Go ist es nicht erlaubt, in zwei oder mehreren Schnittstellen denselben Namen für eine Methode zu verwenden. Wenn Sie dies tun, wird Ihr Programm abstürzen. Lassen Sie uns mit einem Beispiel diskutieren, wie man mehrere Schnittstellen behandelt.
//Konzept mehrerer Schnittstellen package main import "fmt" // Schnittstelle 1 type AuthorDetails interface { details() } // Schnittstelle 2 type AuthorArticles interface { articles() } // Strukturkategorie type Author struct { a_name branch college jahr int salary int particles int tarticles int } //Implementierung der Interface-Methode1 func (a author) details() { fmt.Printf("Autor: %s", a.a_name) fmt.Printf("\nAbteilung: %s durch Datum: %d", a.branch, a.year) fmt.Printf("\nSchulname: %s", a.college) fmt.Printf("\nGehalt: %d", a.salary) fmt.Printf("\nVeröffentlichte Artikelzahl: %d", a.particles) } // Implementierung der Interface-Methode 2 func (a author) articles() { pendingarticles := a.tarticles - a.particles fmt.Printf("\nBereitschaftliche Artikel: %d", pendingarticles) } // Hauptwert func main() { //Strukturzuweisung values := author{ a_name: "Mickey", abteilung: "Computer science", kolleg: "XYZ", jahr: 2012, salary: 50000, particles: 209, tarticles: 309, } // Zugriff über das Interface1Methoden var i1 AuthorDetails = values i1.details() //Zugriff über das Interface2Methoden var i2 AuthorArticles = values i2.articles() }
Ausgabe:
Autor: Mickey Abteilung: Computer science durch Datum: 2012 Schulname: XYZ Gehalt: 50000 Veröffentlichte Artikelzahl: 209 Bereitschaftliche Artikel: 100
Verwendungshinweis:Wie im obigen Beispiel gezeigt, gibt es zwei Interfaces mit Methoden, nämlich details() und Articles(). Hier bietet die details()-Methode die grundlegenden Details des Autors an, während die articles()-Methode die noch nicht veröffentlichten Artikel des Autors bereitstellt.
Es gibt noch eine als Autor (Author) bezeichnete Struktur, die einige Variablensammlungen enthält, deren Werte im Interface verwendet werden. In den Hauptmethoden zuweisen wir die Werte der existierenden Variablen in der Autorstruktur, damit sie im Interface verwendet werden können und erstellen Interface-Typvariablen, um darauf zuzugreifenAuthorDetailsundAuthorArticlesDie Methoden der Schnittstelle.