Bahasa Go (Golang), sebagai bahasa pengaturcaraan berprestasi tinggi yang baru muncul, telah menerima lebih banyak perhatian dan sokongan dalam bidang pembangunan sejak beberapa tahun kebelakangan ini. Antaranya, kaedah Go ialah ciri penting bahasa Go Ia bukan sahaja menyediakan cara yang lebih mudah untuk mengatur kod, tetapi juga membolehkan penggunaan semula dan penyelenggaraan kod yang lebih baik. Berikut akan memperkenalkan konsep, jenis, definisi dan penggunaan kaedah Go masing-masing.
1. Konsep kaedah
Dalam bahasa Go, kaedah ialah fungsi yang dikaitkan dengan jenis tertentu, yang boleh dipanggil pada jenis itu. Kaedah biasanya ditakrifkan dengan parameter penerima, di mana parameter penerima mewakili jenis kaedah dipanggil. Melalui parameter penerima ini, kaedah boleh mengakses sebarang sifat dan kaedah jenis untuk melaksanakan fungsi operasi pada data.
Sebagai contoh, untuk jenis struktur Orang, anda boleh menentukan kaedah SayHello, yang mengembalikan jenis rentetan:
taip Person struct {
name string age int
}
func (p Orang) SayHello() rentetan {
return "Hello, my name is " + p.name + ", I'm " + strconv.Itoa(p.age) + " years old."
}
Dalam kod di atas, kaedah SayHello mentakrifkan penerima p Orang, dan Nama atribut penerima dan umur digunakan dalam kaedah, dan ucapan jenis rentetan akhirnya dikembalikan. Selepas kaedah ini ditakrifkan, ia boleh dipanggil melalui contoh jenis Orang.
2. Jenis kaedah
Kaedah Go boleh dibahagikan kepada dua jenis: penerima nilai dan penerima penunjuk.
Penerima jenis nilai (iaitu, salinan nilai tika) biasanya digunakan dalam senario di mana keadaan dalaman tika itu tidak perlu diubah Ia ditakrifkan sebagai:
func (p Orang) SayHello() rentetan {
return "Hello, my name is " + p.name + ", I'm " + strconv.Itoa(p.age) + " years old."
}
Penerima jenis penunjuk (iaitu, penunjuk contoh) biasanya digunakan dalam senario di mana keadaan dalaman instance perlu diubah. IncreaseAge mentakrifkan penerima p
Orang dan mengubah suai penerima dalam kaedah Umur atribut peranti. Ambil perhatian bahawa penerima jenis penunjuk boleh menerima penunjuk kepada jenis atau jenis yang memerlukan alamat Pengisytiharan kaedah dalam borang ini memerlukan "" sebelum nama jenis "*" di sini ialah jenis penunjuk.
p.age++
Cara untuk mentakrifkan kaedah pada pengisytiharan jenis adalah seperti berikut:
type Person struct {}
func (p Person) SayHello () rentetan {
}name string age int
Dalam kod di atas, kaedah SayHello ditakrifkan dalam jenis Orang.
Cara untuk mentakrifkan kaedah melalui fungsi di luar jenis adalah seperti berikut:
return "Hello, my name is " + p.name + ", I'm " + strconv.Itoa(p.age) + " years old."
}
func ( p Orang) SayHello () rentetan {
}name string age int
func (p *Orang) IncreaseAge() {
}return "Hello, my name is " + p.name + ", I'm " + strconv.Itoa(p.age) + " years old."
dalam kod di atas, kaedah IncreaseAge ditakrifkan melalui fungsi dan ditambah di luar jenis Orang.
4. Penggunaan kaedah
p.age++
p.SayHello() // Hello, nama saya Tom, saya berumur 18 tahun.
2. Panggilan melalui penunjuk jenis.
pp := &Person{name: "Jack", umur: 20}
pp.IncreaseAge() // Ubah suai atribut umur pp, pada masa ini pp.age=21.
Di atas ialah pengenalan terperinci kepada kaedah Go Bagi pembangun yang menggunakan Go untuk membangunkan, sama ada melalui struktur atau jenis antara muka, menggunakan kaedah Go boleh mencapai penggunaan semula dan penyelenggaraan kod dengan lebih baik.
Atas ialah kandungan terperinci Penerangan terperinci kaedah golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!