Kann Go Schnittstellen anonym implementieren?

Patricia Arquette
Freigeben: 2024-11-25 22:29:11
Original
346 Leute haben es durchsucht

Can Go Implement Interfaces Anonymously?

Ist eine anonyme Schnittstellenimplementierung in Go möglich?

Die Möglichkeit, eine anonyme Implementierung einer Schnittstelle mithilfe anonymer Funktionen zu definieren, ähnlich dem Pseudocode:

RandomNumOp({
   Binary: func(a,b int) int { return a+b},
   Ternary: func(a,b,c int) int {return a+b+c},
})
Nach dem Login kopieren

wird in Go nicht direkt unterstützt. Hier sind einige mögliche Ansätze, je nachdem, ob die Implementierung funktionieren muss:

Wenn die Implementierung funktionieren muss

  • Verwenden Sie eine vorhandene Implementierung: Definieren Sie einen Typ, der bettet eine vorhandene Implementierung ein und stellt die erforderlichen Methoden bereit.

Wenn keine Implementierung erforderlich ist Arbeit

  • Verwenden Sie ein anonymes Strukturliteral: Betten Sie den Schnittstellentyp in ein anonymes Strukturliteral ein und stellen Sie eine Platzhalterimplementierung (mit leeren Methoden) für die Schnittstellenfunktionen bereit.

Das obige ist der detaillierte Inhalt vonKann Go Schnittstellen anonym implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage