Kaedah Penerima vs. Parameter dalam Go
Dalam Go, memahami konsep penerima dan parameter adalah penting apabila menggunakan kaedah.
Tandatangan kaedah selalunya termasuk parameter yang diisytiharkan sebagai penerima kaedah. Penerima ini ialah kes khas parameter, walaupun namanya.
Apakah itu Penerima?
Penerima ialah ciri sintaks yang membenarkan kaedah dikaitkan dengan jenis tertentu. Dalam contoh yang diberikan:
func (p *Page) save() error
P *Halaman ialah penerima, menunjukkan bahawa kaedah simpan dilampirkan pada *Jenis Halaman.
Perbezaan Antara Penerima dan Parameter
Penerima bukanlah parameter tradisional dalam erti kata ia tidak perlu diluluskan secara eksplisit ke dalam kaedah. Sebaliknya, penerima disediakan secara automatik oleh pemanggil.
Sebagai contoh, untuk memanggil kaedah simpan, anda akan menulis:
p := &Page{"My Page", "This is my page"} p.save()
Dalam kes ini, pembolehubah p *Halaman ialah penerima untuk kaedah simpan.
Gula Sintaksis
Penggunaan penerima hanyalah gula sintaksis. Ia membolehkan kaedah dilampirkan pada jenis dengan cara yang mudah. Walau bagaimanapun, anda boleh mencapai hasil yang sama dengan mengisytiharkan penerima sebagai parameter biasa:
func save(p *Page) error
Kedua-dua pengisytiharan adalah setara dan akan menghasilkan keputusan yang sama.
Untuk penjelasan lanjut, rujuk kepada disediakan jawapan untuk penjelasan tambahan.
Atas ialah kandungan terperinci Penerima lwn Parameter dalam Kaedah Go: Apakah Perbezaan Sebenar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!