Der PHP-Editor Apple stellt Ihnen heute die Strukturmethoden in Golang vor. Diese Methoden können mehrere Parametertypen akzeptieren. Golang ist eine statisch typisierte Open-Source-Programmiersprache, die den objektorientierten Programmierstil unterstützt und Strukturen als Datentyp bereitstellt. Strukturmethoden sind spezielle Funktionen, die Strukturen bedienen und ändern können. Im Gegensatz zu anderen Sprachen kann die Strukturmethode von Golang mehrere Parametertypen akzeptieren, was Entwicklern mehr Flexibilität und Komfort bietet. Schauen wir uns diese Funktion genauer an.
Meine Methode ist wie folgt:
func (t *worker) updateinfo(n structtype1, node structtype2)
Allerdings muss ich jetzt diese API verwenden, um structtype1 und structtype3 zu verarbeiten. Dies bedeutet, dass n structtype3 sein kann.
Wie kann ich die Methode ändern, um dies zu erreichen, anstatt eine andere Methode wie unten zu schreiben und denselben Code zu wiederholen?
func (t *Worker) updateInfo(n structType3, node structType2)
Bearbeiten: Diese Strukturen sind alle meine eigenen benutzerdefinierten Strukturen
In diesem Fall können Sie Generika verwenden.
Nehmen Sie zum Beispiel die Methode von structtype1
和 structtype2
有一个名为 print
an.
type structtype1 struct {} func(st1 structtype1) print() { fmt.println("calling print function of structtype1") } type structtype3 struct {} func(st3 structtype3) print() { fmt.println("calling print function of structtype2") }
Wir können eine Schnittstellentypdeklaration wie unten gezeigt definieren.
type struct13 interface { print() structtype1 | structtype3 // type union }
Zu Demonstrationszwecken müssen Sie dann die Funktion worker
结构体和 updateinfo
函数。 (注:struct13
中的 print
mit Typparametern modifizieren. )
type worker[t struct13] struct{} func (t *worker[t]) updateinfo(n t, node structtype2) { n.print() }
Wir können die obige Implementierung wie unten gezeigt verwenden.
st1 := structType1{} st2 := structType2{} st3 := structType3{} w1 := Worker[structType1]{} w1.updateInfo(st1,st2) w2 := Worker[structType3]{} w2.updateInfo(st3,st2)
Das obige ist der detaillierte Inhalt vonDie Golang-Strukturmethode akzeptiert mehrere Parametertypen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!