Heim > Backend-Entwicklung > Golang > Wie deklariere ich mehrere Schnittstellenbeschränkungen in Golang?

Wie deklariere ich mehrere Schnittstellenbeschränkungen in Golang?

PHPz
Freigeben: 2024-02-09 14:03:08
nach vorne
927 Leute haben es durchsucht

Wie deklariere ich mehrere Schnittstellenbeschränkungen in Golang?

Der PHP-Editor Banana zeigt Ihnen, wie Sie mehrere Schnittstellenbeschränkungen in Golang deklarieren. In Golang können wir mehrere Schnittstelleneinschränkungen implementieren, indem wir mehrere Schnittstellen in der Schnittstellentypdeklaration verwenden. Dieser Ansatz ermöglicht es uns, Schnittstellen flexibler zu definieren, um sie an unterschiedliche Implementierungsanforderungen anzupassen. Durch die Verwendung mehrerer Schnittstellenbeschränkungen können wir einen Typ dazu veranlassen, mehrere Schnittstellen zu implementieren und so mehr Funktionalität und Flexibilität bereitzustellen. Als Nächstes stellen wir detailliert vor, wie mehrere Schnittstelleneinschränkungen in Golang deklariert werden.

Frageninhalt

Angenommen, ich habe zwei Schnittstellen:

interface a {...}
interface b {...}
Nach dem Login kopieren

Jetzt möchte ich eine Funktion definieren, die einige Parameter der Schnittstellen a und b akzeptiert (d. h. die Parameter implementieren die Schnittstellen a und b):

func test(param a & b) {...} // any similar syntax?
Nach dem Login kopieren

Ich möchte nicht jedes Mal, wenn ich auf mehrere Schnittstellen verweisen möchte, eine neue Schnittstelle schreiben, um andere Schnittstellen einzubetten, wie folgt:

interface C {
  A
  B
}
func test(param C) {...} //ok with 2 interfaces, what about 3, 4 or even 9?
Nach dem Login kopieren

Ich weiß nicht, wie man Schnittpunkttypen in Golang ausdrückt, irgendwelche Ideen?

Workaround

ist in Go nicht möglich, da es sich um einen mehrdeutigen Kontrollfluss handelt, den Go vermeiden soll.

Typen sind nicht erforderlich, um Schnittstellen nach Namen zu implementieren. Daher schlage ich vor, für jeden Parameter eine anonyme Schnittstelle zu deklarieren, die nur die Methoden enthält, von denen Sie wissen, dass die Funktion sie benötigt.

Das obige ist der detaillierte Inhalt vonWie deklariere ich mehrere Schnittstellenbeschränkungen in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage