Heim >Backend-Entwicklung >Golang >Wie unterscheidet man Golang-Funktionen und -Methoden?
Der Unterschied zwischen Go-Funktionen und -Methoden besteht darin, dass die Funktion außerhalb des Pakets definiert wird und keinen Empfänger erhält, während die Methode innerhalb des Typs definiert ist und den Typempfänger als ersten Parameter erhält.
Wie unterscheidet man Go-Funktionen und -Methoden?
Obwohl Funktionen und Methoden in der Go-Sprache ähnlich aussehen, gibt es wesentliche Unterschiede zwischen ihnen.
Funktion
func Greet(name string) string { return "Hello, " + name + "!" }
Methoden
type Person struct { Name string } func (p Person) Greet() string { return "Hello, " + p.Name + "!" }
Praktischer Fall
Der folgende Code demonstriert den Unterschied zwischen Funktionen und Methoden:
package main import "fmt" func main() { // 调用函数 greeting1 := Greet("Alice") fmt.Println(greeting1) // 输出:Hello, Alice! // 实例化类型并调用方法 alice := Person{Name: "Alice"} greeting2 := alice.Greet() fmt.Println(greeting2) // 输出:Hello, Alice! } func Greet(name string) string { return "Hello, " + name + "!" } type Person struct { Name string } func (p Person) Greet() string { return "Hello, " + p.Name + "!" }
Das obige ist der detaillierte Inhalt vonWie unterscheidet man Golang-Funktionen und -Methoden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!