Dan sepertinya saya tidak dapat memahami jenis deklarasi variabel ini:
_, prs := m["example"]
Apa sebenarnya yang _,
dilakukan dan mengapa mereka mendeklarasikan variabel seperti ini, bukan
prs := m["example"]
(Saya menemukannya sebagai bagian dari Go by Example: Maps )
prs
mungkin singkatan dari "sekarang". Kode dalam contoh Anda memeriksa ada atau tidaknya entri"example"
dim
peta.Jawaban:
Ini menghindari keharusan mendeklarasikan semua variabel untuk nilai kembali.
Ini disebut pengenal kosong .
Seperti dalam:
(yang 'lain
_
' kasus yang digunakan adalah untuk impor )Karena membuang nilai yang dikembalikan, akan sangat membantu jika Anda ingin memeriksa hanya satu dari nilai yang dikembalikan, seperti dalam " Bagaimana cara menguji keberadaan kunci di peta? " Yang ditampilkan dalam " Efektif Mulai, peta ":
Seperti yang ditambahkan Jsor di komentar :
Itu memungkinkan Anda untuk menggabungkannya dengan tes:
Anda juga akan menemukannya dalam loop:
sumber
Kompilator Go tidak mengizinkan Anda membuat variabel yang tidak pernah Anda gunakan.
Kode di atas akan mengembalikan pesan kesalahan "saya dideklarasikan dan tidak digunakan".
Karena kami tidak menggunakan i di dalam loop kami, kami perlu mengubahnya menjadi ini:
sumber
_
adalah pengenal kosong. Artinya nilai yang harus diberikan akan dibuang.Ini dia nilai
example
kunci yang dibuang. Baris kode kedua akan membuang kehadiran boolean dan menyimpan nilainya diprs
.Jadi untuk hanya memeriksa keberadaan di peta, Anda dapat membuang nilainya. Ini dapat digunakan untuk menggunakan peta sebagai satu set.
sumber
Kutipan Dari:
Bahasa Pemrograman Go (Seri Komputasi Profesional Addison-Wesley)
Brian W. Kernighan
Materi ini mungkin dilindungi oleh hak cipta.
sumber
Ini disebut pengenal kosong dan ini membantu dalam kasus di mana Anda ingin membuang nilai yang akan dikembalikan dan tidak mereferensikannya
Beberapa tempat kami menggunakannya:
sumber
Pada dasarnya
_,
dikenal sebagai pengenal kosong. Di GO kita tidak bisa memiliki variabel yang tidak digunakan.Sebagai contoh ketika Anda melakukan iterasi melalui array jika Anda menggunakan nilai: = range Anda tidak ingin nilai i untuk iterasi. Tetapi jika Anda menghilangkan nilai i, itu akan mengembalikan kesalahan. Tetapi jika Anda menyatakan i dan tidak menggunakannya, itu juga akan mengembalikan kesalahan.
Oleh karena itu, tempat itulah yang harus kita gunakan
_,
.Juga digunakan saat Anda tidak menginginkan nilai kembalian fungsi di masa mendatang.
sumber
Kasus penggunaan yang bagus untuk variabel yang tidak digunakan adalah situasi ketika Anda hanya membutuhkan keluaran parsial. Pada contoh di bawah ini kita hanya perlu mencetak nilai (populasi negara bagian).
sumber
Jika Anda berasal dari bahasa pemrograman lain, ini mungkin terasa agak sulit untuk terbiasa dengan ini. Tetapi ini menghasilkan kode yang lebih bersih. Jadi dengan menggunakan a
_
kami mengatakan kami tahu ada variabel di sana tetapi kami tidak ingin menggunakannya dan memberi tahu kompiler yang tidak mengeluh kepada saya tentang itu. :)sumber