Methoden in Go-Paketen entdecken
Wie Sie in Ihrer ersten Woche bemerkt haben, gibt es in Go keinen direkten Mechanismus zum dynamischen Iterieren durch die Methoden eines Pakets. Im Gegensatz zu Sprachen wie Python untersucht Go den Inhalt von Paketen nicht.
Diese Entwurfsentscheidung ergibt sich aus dem strengen Kompilierungsprozess von Go, der nur Funktionen und Variablen behält, auf die in der ausführbaren Datei explizit verwiesen wird. Alle nicht verwendeten Funktionen oder Variablen werden zur Kompilierungszeit verworfen. Folglich wird die Iteration über einen möglicherweise unvollständigen Satz von Symbolen bedeutungslos und wird nicht implementiert.
Alternativer Ansatz
Um diese Einschränkung zu umgehen, sollten Sie erwägen, ein Array zu erstellen, das Objekte des enthält welche Typen Sie bearbeiten möchten. In Ihrem Rechnerszenario könnten Sie beispielsweise ein Array definieren:
var calculators = []*calculator.Calc{&calculator.Add{}, &calculator.Sub{}, &calculator.Mult{}, ...}
Sie können dann dieses Array durchlaufen und dabei die Methoden „First“ und „Second“ für jedes „Calculator.Calc“-Objekt aufrufen. Auch wenn dieser Ansatz etwas ausführlich erscheinen mag, ermöglicht er Ihnen die Iteration durch einen vollständigen Satz von Methoden, die Ihrem Programm bekannt sind.
Das obige ist der detaillierte Inhalt vonWie iteriere ich Methoden in Go-Paketen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!