在 Go 中的方法

在 Go 中,一個函數可以被賦值給結構體,這種情況下我們稱之為方法。 舉個例子: type Person struct { Name string Age int } func (p Person) Speak() { fmt.Println("Hello from " + p.Name) } func main() { flavio := Person{Age: 39, Name: "Flavio"} flavio.Speak() } 方法可以聲明為指針接收者或值接收者。 上面的例子展示了一個值接收者,它接收結構體實例的副本。 下面是一個指針接收者,它接收結構體實例的指針: func (p *Person) Speak() { fmt.Println("Hello from " + p.Name) }