Go函數和方法的差別在於:函數定義於包外,不接收接收器;而方法定義於型別內,接收型別接收器作為第一個參數。
如何區分 Go 函數與方法?
在 Go 語言中,雖然函數和方法看起來很相似,但兩者之間有本質差異。
函數
func Greet(name string) string { return "Hello, " + name + "!" }
方法
type Person struct { Name string } func (p Person) Greet() string { return "Hello, " + p.Name + "!" }
實戰案例
以下程式碼示範了函數與方法之間的差異:
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 + "!" }
以上是如何區分 golang 函數和方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!