Dalam Go, kaedah dilampirkan pada jenis melalui penggunaan penerima. Ini menimbulkan persoalan: apakah sebenarnya penerima, dan bagaimanakah ia berbeza daripada parameter?
Penerima: Jenis Parameter Istimewa
Penerima ialah kes khas parameter. Dalam ralat fungsi tandatangan kaedah (p *Halaman) simpan(), penerima ialah p. Secara sintaksis, penerima ialah parameter pertama yang diisytiharkan dalam tandatangan kaedah.
Perbezaan utama antara penerima dan parameter terletak pada perkaitannya dengan jenis ia "kepunyaan". Penerima membenarkan kaedah dikaitkan dengan jenis ia beroperasi, menjadikannya lebih intuitif dan mudah difahami.
Contoh: kaedah save()
Dalam diberi kaedah tandatangan func (p *Page) save() ralat, penerima p ialah penunjuk kepada jenis Halaman. Ini bermakna kaedah save() hanya boleh dipanggil pada contoh *Halaman. Kaedah ini boleh mengakses dan mengubah suai objek Halaman yang mendasari.
Kesamaan Sintaks
Walaupun penerima berbeza secara sintaksis daripada parameter, ia adalah setara dari segi fungsi. Dua coretan kod berikut adalah setara:
func (p *Page) save() error {
Atas ialah kandungan terperinci Kaedah Go: Apakah Perbezaan Antara Penerima dan Parameter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!