Bagaimanakah cara membezakan fungsi dan kaedah golang?
Apr 25, 2024 pm 03:09 PMPerbezaan 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
- ditakrifkan di luar skop pakej dan boleh dipanggil terus.
- Tidak menerima penerima jenis.
func Greet(name string) string { return "Hello, " + name + "!" }
Kaedah
- ditakrifkan dalam jenis dan hanya boleh dipanggil melalui contoh jenis.
- Terima penerima jenis sebagai parameter pertama.
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!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana untuk membaca dan menulis fail dengan selamat menggunakan Golang?

Bagaimana untuk mengkonfigurasi kolam sambungan untuk sambungan pangkalan data Golang?

Persamaan dan Perbezaan antara Golang dan C++

Seberapa curam keluk pembelajaran seni bina rangka kerja golang?

Bagaimana untuk menjana elemen rawak dari senarai di Golang?

Perbandingan kebaikan dan keburukan rangka kerja golang

Apakah amalan terbaik untuk pengendalian ralat dalam rangka kerja Golang?

arahan penggunaan dokumen rangka kerja golang
