Golang-Strukturmethode

WBOY
Freigeben: 2023-05-14 15:20:38
Original
793 Leute haben es durchsucht

Golang ist eine schnelle, einfache und offene Programmiersprache, die wie andere Sprachen objektorientierte Programmierung unterstützt. Die objektorientierte Programmierung in Golang wird hauptsächlich durch Strukturen implementiert, und die Strukturmethode ist eine spezielle Funktion, die für den Strukturtyp definiert ist. In diesem Artikel werden relevante Kenntnisse über Strukturmethoden in Golang vorgestellt.

1. Was ist die Strukturmethode?

Strukturmethoden sind Mitgliedsfunktionen des Strukturtyps, die zur Bearbeitung des Strukturtyps verwendet werden, ähnlich wie Mitgliedsfunktionen in anderen objektorientierten Programmiersprachen. Normalerweise gibt es zwei Arten von Strukturmethoden: eine ist ein Wertempfänger und die andere ist ein Zeigerempfänger. Ein Wertempfänger arbeitet mit einer Kopie des Werts, während ein Zeigerempfänger direkt mit dem Originalobjekt arbeitet.

2. Definition von Methoden

Methoden können für jeden benutzerdefinierten Typ definiert werden, aber eine häufige Situation besteht darin, sie in einem Strukturtyp zu definieren. Das Definitionsformat der Methode lautet wie folgt:

func (s 结构体类型) 方法名() 返回值类型 { // 方法实现代码 }
Nach dem Login kopieren

Es ist ersichtlich, dass in der Definition der Methode vor dem Funktionsnamen ein spezieller Empfängerparameter steht, der zur Angabe verwendet wird Art der Struktur, auf die die Methode angewendet wird. Der Empfängerparameter kann vom Typ Wert oder Zeiger sein.

3. Wertempfänger und Zeigerempfänger

  1. Wertempfänger

Der Wertempfänger wird in der Methode When verwendet Die Integrität des ursprünglichen Wertes muss gewahrt bleiben. Wenn in der Methode eines Wertempfängers einer der Werte des Empfängers geändert wird, werden diese Änderungen nur in der Kopie der Methode vorgenommen, sodass der ursprüngliche Wert unverändert bleibt.

Der Wertempfänger ist definiert als:

func (s 结构体类型) 方法名() { }
Nach dem Login kopieren
  1. Zeigerempfänger

Zeigerempfänger ist für Methoden geeignet Wert des Empfängers. Zeigerempfänger übergeben den Empfängerzeiger an eine Methode, sodass die Methode den ursprünglichen Wert ändern kann, auf den der Empfänger innerhalb der Methode zeigt.

Der Zeigerempfänger ist definiert als:

func (s *结构体类型) 方法名() { }
Nach dem Login kopieren

4. Methodenaufruf

Die Art und Weise, Methoden aufzurufen, ist die gleiche wie bei anderen Memberfunktionen Programmiersprachen Ebenso gibt es zwei Hauptmethoden:

  1. Object.Method()

Wenn eine Methode auf diese Weise aufgerufen wird, führt Golang dies automatisch aus Konvertieren Sie das Objekt in „Convert to pointer to value“.

Angenommen, die SayHello-Methode ist mit dem Strukturtyp Person als Empfänger definiert und ich habe jetzt ein Objekt namens Tom, lautet die Methode zum Aufrufen der Methode wie folgt:

Tom.SayHello()
Nach dem Login kopieren
  1. (&Object).Method()

Wenn eine Methode auf diese Weise aufgerufen wird, konvertiert Golang das Objekt in einen Zeiger auf das Objekt und übergibt es zur Methode.

Wenn ich beispielsweise die SayHello-Methode mit dem Strukturtyp Person als Empfänger verwende, habe ich jetzt ein Objekt namens Jerry und die Methode wird wie folgt aufgerufen:

(&Jerry).SayHello()
Nach dem Login kopieren

5 .Methodenfunktionsüberladung

In Golang können Methoden nicht überladen werden. Das heißt, in einer Struktur kann es nicht zwei Methoden mit demselben Namen, aber unterschiedlichen Parametern geben. Wenn Sie ähnliche Funktionen implementieren müssen, können Sie die Verwendung von Schnittstellen in Betracht ziehen.

6. Zusammenfassung

In diesem Artikel werden hauptsächlich die relevanten Kenntnisse über Strukturmethoden in Golang vorgestellt, einschließlich der Definition von Methoden, Wertempfängern und Zeigerempfängern, Methodenaufrufen und Funktionsüberladung von Methoden. Eine Strukturmethode ist eine spezielle Funktion, die für einen Strukturtyp definiert ist. Durch das Erlernen und Beherrschen der Strukturmethode können die Lesbarkeit, Wartbarkeit und Wiederverwendbarkeit des Programms verbessert und auch die Entwicklungseffizienz von Programmierern verbessert werden.

Das obige ist der detaillierte Inhalt vonGolang-Strukturmethode. 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 Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!