Heim >Backend-Entwicklung >Golang >Kann Go Schnittstellen anonym implementieren?

Kann Go Schnittstellen anonym implementieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-25 22:29:11427Durchsuche

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},
})

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!

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