Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah cara membezakan fungsi dan kaedah golang?
Perbezaan antara fungsi dan kaedah Go ialah fungsi ditakrifkan di luar pakej dan tidak menerima penerima manakala kaedah ditakrifkan dalam jenis dan menerima penerima jenis sebagai parameter pertama.
Bagaimana untuk membezakan antara fungsi dan kaedah Go?
Dalam bahasa Go, walaupun fungsi dan kaedah kelihatan serupa, terdapat perbezaan penting antara mereka.
Fungsi
func Greet(name string) string { return "Hello, " + name + "!" }
Kaedah
type Person struct { Name string } func (p Person) Greet() string { return "Hello, " + p.Name + "!" }
Kes praktikal
Kod berikut menunjukkan perbezaan antara fungsi dan kaedah:
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 + "!" }
Atas ialah kandungan terperinci Bagaimanakah cara membezakan fungsi dan kaedah golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!