Rumah > pembangunan bahagian belakang > Golang > Penerima lwn Parameter dalam Kaedah Go: Apakah Perbezaan Sebenar?

Penerima lwn Parameter dalam Kaedah Go: Apakah Perbezaan Sebenar?

Linda Hamilton
Lepaskan: 2024-11-28 07:59:10
asal
242 orang telah melayarinya

Receiver vs. Parameter in Go Methods: What's the Real Difference?

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
Salin selepas log masuk

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()
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan