Go membenarkan argumen fungsi dibiarkan tanpa nama, yang pada mulanya mungkin kelihatan mengelirukan. Walau bagaimanapun, ciri ini mempunyai beberapa tujuan dan mempunyai peraturan sintaks yang jelas.
Menurut spesifikasi Go, ParameterDecl (pengisytiharan parameter) ialah:
ParameterDecl = [ IdentifierList ] [ "..." ] Type .
The IdentifierList (nama atau nama pengecam) adalah pilihan, menunjukkan bahawa hanya Jenis diperlukan.
Mengapa menggunakan argumen tidak bernama?
Argumen tanpa nama biasanya digunakan dalam senario di mana:
Peraturan sintaks
Mencampurkan parameter bernama dan tidak dinamakan tidak dibenarkan . Jika beberapa parameter dinamakan, semua mesti dinamakan. Sebagai alternatif, pengecam kosong (_) boleh digunakan untuk menunjukkan bahawa parameter tidak boleh dirujuk.
Contoh
Pertimbangkan antara muka MyWriter :
type MyWriter interface { Write(p []byte) error }
Pelaksanaan antara muka ini yang membuang data boleh ditulis sebagai berikut:
type DiscardWriter struct{} func (DiscardWriter) Write([]byte) error { return nil }
Jenis DiscardWriter mempunyai parameter yang tidak dinamakan kerana ia tidak menggunakan argumen yang dihantar kepada kaedah Write.
Kesimpulannya, argumen fungsi tanpa nama dalam Pergi memberikan fleksibiliti dan kejelasan apabila berurusan dengan parameter yang ada tetapi tidak digunakan. Ia memudahkan pelaksanaan antara muka, mendokumenkan parameter yang tidak digunakan dan membenarkan pengembangan masa hadapan tanpa memecahkan keserasian ke belakang.
Atas ialah kandungan terperinci Bila dan Mengapa Menggunakan Argumen Fungsi Tanpa Nama dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!