In Go werden Methoden mithilfe von Empfängern an Typen angehängt. Dies wirft die Frage auf: Was genau ist ein Empfänger und wie unterscheidet er sich von einem Parameter?
Der Empfänger: Eine besondere Art von Parameter
Der Empfänger ist ein Sonderfall eines Parameters. Im Fehler der Methodensignatur func (p *Page) save() ist der Empfänger p. Syntaktisch gesehen ist der Empfänger der erste Parameter, der in der Methodensignatur deklariert wird.
Der Hauptunterschied zwischen einem Empfänger und einem Parameter liegt in seiner Zuordnung zu dem Typ, zu dem er „gehört“. Der Empfänger ermöglicht die Verknüpfung der Methode mit dem Typ, den sie bearbeitet, wodurch sie intuitiver und leichter verständlich wird.
Beispiel: save()-Methode
Im Bei gegebenem Fehler in der Methodensignatur func (p *Page) save() ist der Empfänger p ein Zeiger auf einen Seitentyp. Das bedeutet, dass die Methode save() nur für Instanzen von *Page aufgerufen werden kann. Die Methode kann auf das zugrunde liegende Seitenobjekt zugreifen und es ändern.
Syntaxäquivalenz
Während sich der Empfänger syntaktisch von einem Parameter unterscheidet, ist er funktional äquivalent. Die folgenden zwei Codeausschnitte sind äquivalent:
func (p *Page) save() error {
Das obige ist der detaillierte Inhalt vonGo-Methoden: Was ist der Unterschied zwischen einem Empfänger und einem Parameter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!