Heim  >  Artikel  >  Backend-Entwicklung  >  Handbuch zur Golang-Methode

Handbuch zur Golang-Methode

WBOY
WBOYOriginal
2023-05-16 12:26:381035Durchsuche

Golang ist eine Programmiersprache, die bei Entwicklern sehr beliebt ist. Sie hat aufgrund ihrer Effizienz, Einfachheit und einfachen Erlernbarkeit die Gunst vieler Entwickler gewonnen. In Golang ist eine Methode eine Funktion, die Operationen an einem Strukturtyp ermöglicht.

Dieser Artikel stellt Ihnen Golang-Methoden vor, einschließlich Details zu Methodendefinition, Aufruf, Zustellung, Schnittstellen usw., damit Sie die Verwendung von Golang-Methoden besser beherrschen können.

1. Definition der Methode

In Golang ist eine Methode ein spezieller Funktionstyp, der einem Strukturtyp zugeordnet ist, d. h. der Empfänger der Methode muss auf einen bestimmten Strukturtyp verweisen. Die grundlegende Syntax der Methodendefinition lautet wie folgt:

func (r ReceiverType) methodName(parameterList) (resultList) {

// 方法体

}

Unter diesen bezieht sich ReceiverType auf den Typ des Methodenempfängers, der ein beliebiger Typ sein kann, einschließlich Zeigertyp: Wenn ReceiverType ein Zeigertyp ist, wird er beim Aufruf der Methode automatisch dereferenziert. ParameterList bezieht sich auf den Namen der Methode. Wenn keine Parameter erforderlich sind, kann er weggelassen werden zu übergeben; resultList bezieht sich auf Ist die Rückgabewertliste der Methode. Wenn der Rückgabewert nicht erforderlich ist, kann er weggelassen werden.

Zum Beispiel können wir eine Methode namens Print definieren, die einen Zeiger auf den Typ Person empfängt und keine Parameter und Rückgabewerte übergeben muss:

type Person struct {

name string
age int

}

func (p *Person) Print() {

fmt.Printf("Name: %s, Age: %d

", p.name, p.age)
}

Im obigen Beispiel gehört die Methode Print zum Typ Person. Sie ist an einen Zeiger auf den Typ Person gebunden, kann also sein Übergeben Sie den Personentyp, um die Methode aufzurufen.

In Golang ist der Methodenaufruf dem Funktionsaufruf sehr ähnlich. Wir können beispielsweise den Empfänger hinzufügen eine Instanz des Typs „Person“ und rufen Sie dann die Methode „Print“ für die Ausgabe auf:

func main() {

p := &Person{
    name: "Tom",
    age:  18,
}
p.Print()

}

Im obigen Beispiel haben wir einen Zeiger p erstellt, der auf den Typ „Person“ zeigt, und dessen Methode „Print“ für die Ausgabe aufgerufen . Es ist nicht erforderlich, den Empfänger beim Aufrufen der Methode automatisch in den Empfänger umzuwandeln.

In Golang können Methoden auch übergeben werden. Zum Beispiel können wir die obige Print-Methode in eine Funktion einkapseln:

func PrintPerson(p *Person) {

p.Print()

}

Dann können wir die PrintPerson-Funktion als Parameter an eine andere Funktion übergeben:

func ProcessPerson( f func(* Person)) {

p := &Person{
    name: "Tom",
    age:  18,
}
f(p)

}

Schließlich können wir die ProcessPerson-Funktion aufrufen und die PrintPerson-Funktion als Parameter übergeben:

func main() {

ProcessPerson(PrintPerson)

}

Im obigen Beispiel ist die Die ProcessPerson-Funktion empfängt eine Funktion als Parameter und übergibt eine Instanz des Personentyps als Parameter an die Funktion. Da die PrintPerson-Funktion einen Zeiger auf den Personentyp als Parameter empfängt und dem Funktionstyp entspricht, kann die PrintPerson-Funktion dies tun Als Parameter an die ProcessPerson-Funktion übergeben

Schnittstelle ist ein sehr wichtiges Konzept. Es definiert eine Sammlung von Methoden, die als konform gelten die Schnittstelle. In Golang können Sie Methoden verwenden, um Schnittstellen zu implementieren.

Zum Beispiel können wir eine Schnittstelle namens Stringer erstellen, die eine Methode namens String definiert, um eine Struktur in einen String umzuwandeln:

Typ Stringer-Schnittstelle {

rrree

}

Dann können wir eine String-Methode für den Person-Typ definieren, um Person in einen String umzuwandeln:

func (p *Person) String() string {

String() string

}

Schließlich können wir mit dem Person-Typ den Stringer implementieren Schnittstelle und verwenden Sie die Println-Funktion im fmt-Paket für die Ausgabe:

func main() {

return fmt.Sprintf("Name: %s, Age: %d", p.name, p.age)

}

Im obigen Beispiel implementiert der Person-Typ die Stringer-Schnittstelle und konvertiert sie in einen String, der ausgegeben wird.

Zusammenfassung

Dieser Artikel stellt die Details der Definition, des Aufrufs, der Bereitstellung, der Schnittstelle usw. von Golang-Methoden vor. Ich hoffe, dass er den Lesern helfen kann, die Verwendung von Golang-Methoden besser zu verstehen. Es ist zu beachten, dass Sie bei der Verwendung von Methoden auf den Empfängertyp und die Methodendefinition sowie auf Details wie die aufrufende Methode und die Bereitstellungsmethode der Methode achten müssen. Nur wenn wir diese Details beherrschen, können wir die Vorteile der Golang-Methoden voll ausschöpfen und die Effizienz und Wartbarkeit des Codes verbessern.

Das obige ist der detaillierte Inhalt vonHandbuch zur Golang-Methode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:So verwenden Sie GolangNächster Artikel:So verwenden Sie Golang