Heim > Backend-Entwicklung > Golang > Deklaration der Golang-Methode

Deklaration der Golang-Methode

PHPz
Freigeben: 2023-05-16 16:54:08
Original
525 Leute haben es durchsucht

Golang ist eine sehr beliebte Programmiersprache. Sie wurde von Google entwickelt. Aufgrund ihrer einzigartigen Syntax und leistungsstarken Leistung ist sie weit verbreitet. In Golang ist die Methodendeklaration ein sehr wichtiges Grundwissen, da sie in der objektorientierten Programmierung eine wichtige Rolle spielt.

In Golang können wir Methoden verwenden, um die Funktionalität von Typen zu erweitern. Methoden können in Strukturen oder in den Quellcodedateien jedes Typs (auch Basistypen) definiert werden. In diesem Artikel werden wir die Grundlagen von Golang-Methodendeklarationen untersuchen, einschließlich Methodensyntax, Parameter- und Rückgabewerttypen usw.

Methodensyntax

In Golang können wir die folgende Syntax verwenden, um Methoden zu deklarieren:

func (t Type) methodName(parameterList) (returnTypeList) {

// 方法体
Nach dem Login kopieren

}

Unter diesen wird func zum Deklarieren von Methoden verwendet Schlüsselwort, Type ist der Typ des Empfängerparameters, methodName ist der Name der Methode, parameterList ist die Parameterliste der Methode und returnTypeList ist die Rückgabewertliste der Methode.

In der obigen Syntax kann Typ ein Strukturtyp oder ein anderer Typ sein. Der Empfängerparameter ist der Typ, der die Methode definiert, was bedeutet, dass wir über die Instanz, auf der die Methode aufgerufen wird, auf die Methode zugreifen können. Wenn wir einen Strukturtyp definieren, können wir ihn verwenden, um Methoden wie diese aufzurufen:

type Rechteckstruktur {

width, height float64
Nach dem Login kopieren

}

func (r Rechteck) area() float64 {

return r.width * r.height
Nach dem Login kopieren

}

r : = Rechteck{ 3, 4}
fmt.Println(r.area())

Im obigen Code definieren wir einen Rechtecktyp und eine area()-Methode. Der Empfängerparameter der area()-Methode ist ein Rechtecktyp. Wir erstellen eine Rechteckinstanz r und rufen damit die Methode „area()“ auf, um die Fläche des Rechtecks ​​zu berechnen.

Dann werfen Sie einen Blick auf die Parameterliste und die Rückgabewertliste. Die Parameterliste enthält null oder mehr Parameter und der Typ dieser Parameter kann jeder gültige Golang-Typ sein. Die Rückgabewertliste stellt den Rückgabewert der Methode dar, der aus 0 oder mehr Rückgabewerten besteht. Der Typ dieser Rückgabewerte kann auch jeder gültige Golang-Typ sein.

Hier ist ein Beispiel, das zeigt, wie eine Methode mit zwei Parametern und einem Rückgabewert definiert wird:

type Person struct {

name string
age  int
Nach dem Login kopieren

}

func (p Person) fullName(firstName string, lastName string) string {

p.name = firstName + " " + lastName
return p.name
Nach dem Login kopieren

}

person := Person{"Jerry", 28}
fmt.Println(person.fullName("John", "Doe"))

In diesem Beispiel definieren wir einen Person-Typ und eine fullName()-Methode . Die Methode fullName() hat zwei Parameter: firstName und lastName. Sie hat auch einen Rückgabewert vom Typ string. In der Methode fullName() kombinieren wir firstName und lastName zu einem vollständigen Namen, weisen ihn dann dem Namensfeld in der Person-Struktur zu und geben diesen Namen zurück.

Parameter- und Rückgabewerttypen

Die Parameterliste und Rückgabewertliste der Golang-Methoden sind sehr flexibel, sie können jeder gültige Golang-Datentyp sein. In einer Methodendefinition können die Parameter und Rückgabewerttypen gleich oder unterschiedlich sein. Schauen wir uns das folgende Beispiel an:

type Student struct {

name      string
age       int
grade     int
addresses []string
Nach dem Login kopieren

}

func (s *Student) changeName(name string) {

s.name = name
Nach dem Login kopieren

}

func (s *Student) getAddresses() [] string {

return s.addresses
Nach dem Login kopieren

}

student := Student{"Joe", 12, 6, []string{"Beijing", "Shanghai"}}
fmt.Println(student.name)
student.changeName("Tom " )
fmt.Println(student.name)

addresses := student.getAddresses()
fmt.Println(addresses)

Im obigen Code definieren wir eine Student-Struktur und zwei Methoden: changeName() und getAddresses( ). Der Empfängerparameter der Methode „changeName()“ ist ein Zeiger auf die Student-Struktur, die keinen Rückgabewert hat, während der Empfängerparameter der Methode „getAddresses()“ ein Zeiger auf die Student-Struktur ist und ihr Rückgabewert ein String-Array ist.

In der Methode „changeName()“ setzen wir das Namensfeld der Student-Instanz auf einen neuen Wert und in der Methode „getAddresses()“ geben wir direkt das Adressfeld der Student-Instanz zurück.

Zusammenfassung

Wie in diesem Artikel erwähnt, ist die Methodendeklaration ein sehr wichtiger Bestandteil der Golang-Programmierung. Darunter sind die Methodensyntax, Parameter und Rückgabewerttypen die drei Aspekte, auf die wir achten müssen. Durch das Verständnis der Definition und Verwendung der Golang-Methoden können wir die hervorragenden Funktionen von Golang besser nutzen und effizientere und hervorragende Anwendungen entwickeln.

Das obige ist der detaillierte Inhalt vonDeklaration der Golang-Methode. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage