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) {
// 方法体
}
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
}
func (r Rechteck) area() float64 {
return r.width * r.height
}
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
}
func (p Person) fullName(firstName string, lastName string) string {
p.name = firstName + " " + lastName return p.name
}
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
}
func (s *Student) changeName(name string) {
s.name = name
}
func (s *Student) getAddresses() [] string {
return s.addresses
}
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!