The Misterius "_," dalam Pengisytiharan Pembolehubah Go
Dalam Go, adalah perkara biasa untuk menjumpai pengisytiharan berubah-ubah seperti ini:
_, prs := m["example"]
Apakah tujuan _ ini, bina, dan mengapa ia digunakan dan bukannya prs yang lebih intuitif := m["example"]?
Pengecam Kosong: Mengabaikan Nilai Pulangan
The _ mewakili "pengecam kosong." Ia membolehkan pembangun membuang nilai pulangan daripada fungsi. Dalam kes ini, ungkapan m["example"] mengembalikan tuple yang mengandungi dua nilai: elemen pada kunci "example" dan boolean yang menunjukkan sama ada kunci itu wujud. Dengan menggunakan _,, kami hanya berminat dengan kehadiran kunci, bukan nilainya.
Mencegah Pengisytiharan Tidak Sah
Go menguatkuasakan pengisytiharan berubah-ubah dengan ketat. Jika kami mengisytiharkan prs tanpa nilai, pengkompil akan menimbulkan ralat. Sebaliknya, kami menggunakan pengecam kosong untuk memberitahu Go bahawa kami mengakui nilai pulangan tetapi tidak berniat untuk menggunakannya.
Kecekapan dan Kebolehbacaan Kod
Menggunakan kosong pengecam mengelakkan pengisytiharan pembolehubah yang tidak diperlukan, meningkatkan kecekapan kod. Ia juga meningkatkan kebolehbacaan dengan menjelaskan nilai pulangan mana yang diabaikan.
Kes Penggunaan Biasa
Konvensyen Penamaan Tersuai
Sesetengah pembangun menerima pakai konvensyen untuk menamakan pembolehubah yang digunakan sebagai pengecam kosong, seperti "ok" atau "err." Ini meningkatkan lagi kebolehbacaan dan ketekalan.
Contoh
Pertimbangkan coretan kod berikut:
if _, err := os.Stat(path); os.IsNotExist(err) { fmt.Printf("%s does not exist\n", path) }
Dalam contoh ini, kami menggunakan pengecam kosong untuk menguji sama ada fail wujud pada laluan yang ditentukan tanpa mengambil berat tentang atribut fail.
Atas ialah kandungan terperinci Apakah Tujuan Pengecam Kosong '_' dalam Pengisytiharan Pembolehubah Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!