Bahasa Go ialah bahasa pengaturcaraan sumber terbuka yang direka untuk menjadi kaedah pengaturcaraan yang sangat cekap. Berbanding dengan bahasa pengaturcaraan lain, bahasa Go mempunyai banyak ciri unik, salah satunya adalah penerima kaedah (Method Receiver). Artikel ini terutamanya akan memperkenalkan konsep dan penggunaan penerima kaedah dalam bahasa Go.
Dalam bahasa Go, penerima kaedah ialah fungsi khas yang digunakan untuk mengikat jenis tertentu dan membenarkan kaedah dipanggil pada nilai jenis tersebut. Penerima kaedah juga dipanggil fungsi penerima atau hanya penerima. Takrif jenis sekeliling penerima, yang membolehkan pembangun mentakrifkan kaedah pada jenis. Penerima kaedah menentukan parameter kaedah, serta jenis parameter.
Penerima kaedah ialah parameter (atau set parameter) yang dinyatakan sebelum nama fungsi. Diberikan di bawah adalah format lengkap kaedah dengan penerima jenis T
:
func (t T) methodName(parameter_list)(return_type_list){ //Code Block }
di mana penerima dinyatakan sebelum nama fungsi dan mempunyai satu parameter jenis T. Nilai jenis penunjuk T boleh digunakan sebagai penerima. Jika methodName
ialah kaedah yang menunjuk kepada penunjuk jenis T
, anda boleh menggunakan nilai jenis T atau *T sebagai penerimanya.
Mengenai penerima, beberapa konsep yang perlu anda ketahui adalah seperti berikut.
T
: Jenis, iaitu, jenis parameter penerima kaedah. methodName
: nama kaedah. parameter_list
: senarai parameter, sama seperti senarai parameter fungsi. return_type_list
: Senarai nilai pulangan, sama seperti senarai nilai pulangan fungsi. Sebagai contoh, dalam bahasa Go, anda boleh mentakrifkan jenis Person
seperti ini, dan kemudian mentakrifkan penerima sebagai kaedah Person
jenis GetAge()
:
// Person with name and age as attributes. type Person struct { name string age int } // Method to get person's age func (p Person) GetAge() int { return p.age } func main() { // Create a person object person := Person{"Alice", 25} // Calling GetAge() Method. fmt.Println("Age of the person is:", person.GetAge()) // Output: Age of the person is: 25 }
Dalam contoh di atas, kami menentukan jenis Person
dan menghantarnya sebagai penerima kepada kaedah GetAge()
. Gunakan kaedah GetAge()
untuk mendapatkan umur objek jenis Person
.
Anda boleh menggunakan nilai jenis penunjuk T
sebagai penerima. Jika methodName
ialah kaedah yang menunjuk kepada penunjuk jenis T
(iaitu, T), anda boleh menggunakan nilai jenis T atau T sebagai penerimanya. Contohnya, dalam bahasa Go, anda boleh mentakrifkan jenis Person
seperti ini dan mentakrifkan kaedah Person
yang penerimanya ialah penunjuk jenis SetName()
:
// Person with name and age as attributes. type Person struct { name string age int } // Method to set person's name func (p *Person) SetName(name string) { p.name = name } func main() { // Create person object person := &Person{"Alice", 25} // Calling SetName() method person.SetName("Bob") // Retrieved person's name fmt.Println("The person's name is:", person.name) // Output: The person's name is: Bob }
Dalam contoh di atas, kami Jenis Person
ditakrifkan dan dihantar ke kaedah *Person
sebagai penerima jenis penunjuk SetName()
. Gunakan kaedah SetName()
untuk menetapkan nama objek jenis Person
.
Dalam bahasa Go, penerima kaedah ialah fungsi khas yang digunakan untuk mengikat kepada jenis tertentu dan membenarkan nilai memanggil kaedah. Apabila mentakrifkan kaedah penerima, anda perlu menentukan jenis penerima sebelum nama fungsi. Sintaksnya adalah seperti berikut:
func (t T) methodName(parameter_list)(return_type_list){ //Code Block }
di mana, T
ialah jenis penerima, yang boleh menjadi sebarang jenis. Penerima kaedah termasuk definisi jenis, nama kaedah, parameter dan jenis pulangan. Apabila menggunakan jenis penunjuk T
sebagai penerima, anda boleh menggunakan nilai jenis T
atau *T
sebagai penerimanya. Menentukan dan menggunakan penerima kaedah dalam bahasa Go boleh meningkatkan kebolehbacaan dan kebolehgunaan semula program.
Atas ialah kandungan terperinci Konsep dan penggunaan kaedah penerima dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!