Rumah > Artikel > pembangunan bahagian belakang > Pengenalan terperinci kepada kaedah yang ditetapkan di Golang
Bahasa Go ialah bahasa pengaturcaraan yang baru muncul. Keanggunan, kecekapan dan kesederhanaannya telah menarik perhatian ramai pengaturcara. Bahasa Go sangat baik dalam banyak aspek seperti sintaks, sokongan platform, dan prestasi Ia digunakan secara meluas dalam pemprosesan data, pengaturcaraan konkurensi tinggi, pengaturcaraan Web dan bidang lain, dan mempunyai kebolehskalaan yang sangat tinggi.
Kaedah yang ditetapkan di Golang adalah bahagian yang tidak diketahui oleh ramai pembangun Artikel ini akan memperkenalkan kaedah yang ditetapkan dalam Golang dan cara menggunakannya.
Set kaedah ialah himpunan kaedah yang tergolong dalam antara muka atau struktur. Dalam bahasa Go, set kaedah dibahagikan kepada set kaedah nilai dan set kaedah penunjuk Perbezaan terbesar ialah sama ada pemanggil boleh diubah suai.
Kaedah dalam set kaedah nilai tidak mengubah suai nilai yang ia dipanggil, iaitu, dalam set kaedah nilai, kaedah tidak boleh mengubah keadaan nilai yang ia dipanggil. Kita boleh menggunakan set kaedah yang mengandungi jenis struktur sebagai penerima, dan kemudian jenis nilai boleh memanggil kaedah dalam set kaedah nilai.
Ambil rentetan sebagai contoh Dalam bahasa Go, rentetan ialah kepingan bait baca sahaja dan nilainya tidak boleh diubah suai. Jika kita ingin mengubah suai rentetan, kita mesti menggunakan set kaedah penunjuk. Kaedah set kaedah penunjuk memanipulasi nilai pembolehubah melalui penunjuk dan boleh mengubah keadaannya. Kita boleh menggunakan set kaedah yang mengandungi jenis penunjuk struktur sebagai penerima, dan kemudian jenis penunjuk boleh memanggil kaedah dalam set kaedah penunjuk.
Dalam bahasa Go, jika kita mentakrifkan set kaedah, set kaedah ini boleh digunakan pada semua antara muka dan struktur yang mempunyai kaedah dan pelaksanaan yang sama. Ini memberikan kami cara mudah untuk mengakses fungsi yang dikongsi.
Berikut ialah contoh menggunakan set kaedah nilai dan set kaedah penunjuk:
package main import ( "fmt" ) type User struct { Name string Age int } func (u User) GetName() string { return u.Name } func (u *User) SetName(name string) { u.Name = name } func main() { user := User{ Name: "Tom", Age: 18, } fmt.Println(user.GetName()) user.SetName("Jerry") fmt.Println(user.GetName()) }
Dalam contoh ini, kami mentakrifkan struktur Pengguna dan mentakrifkan GetName dalam Kaedah set kaedah nilai, ini kaedah mengembalikan nama Pengguna.
Dalam set kaedah penunjuk, kami mentakrifkan kaedah SetName, yang boleh mengubah suai nama Pengguna.
Fungsi main() mula-mula mencipta contoh Pengguna bernama "Tom" dan mencetak namanya. Kami kemudian memanggil kaedah SetName menggunakan penunjuk untuk menukar namanya kepada "Jerry". Apabila kaedah GetName dipanggil, ia mengembalikan nama baharu "Jerry".
Selain set kaedah nilai dan set kaedah penunjuk, kami juga boleh menggunakan antara muka kosong sebagai penerima kaedah. Kaedah yang dilaksanakan menggunakan antara muka kosong boleh dipanggil pada sebarang jenis nilai.
Sebagai contoh, kita boleh mentakrifkan kaedah yang menerima antara muka kosong sebagai parameter dan mencetak jenis nilai yang berbeza:
package main import ( "fmt" ) func PrintValue(v interface{}) { fmt.Println(v) } func main() { PrintValue("Hello, World") PrintValue(123) PrintValue(3.142) }
Kaedah PrintValue menerima antara muka kosong sebagai parameter dan mencetak nilainya.
Dalam fungsi main(), kami memanggil kaedah PrintValue tiga kali, menghantar pelbagai jenis nilai. Tidak kira sama ada rentetan, integer atau nombor titik terapung diluluskan, PrintValue boleh mencetak nilainya.
Ringkasan:
Walaupun Golang ialah bahasa pengaturcaraan yang baru muncul, ia sudah mempunyai banyak ciri yang sangat baik, dan set kaedah adalah salah satu daripadanya. Menguasai penggunaan set kaedah boleh memberikan kami perkhidmatan yang mudah dan cekap semasa proses pembangunan.
Atas ialah kandungan terperinci Pengenalan terperinci kepada kaedah yang ditetapkan di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!