Rumah > pembangunan bahagian belakang > Golang > Apakah Tujuan Pengecam Kosong '_' dalam Pengisytiharan Pembolehubah Go?

Apakah Tujuan Pengecam Kosong '_' dalam Pengisytiharan Pembolehubah Go?

Patricia Arquette
Lepaskan: 2025-01-02 20:10:39
asal
443 orang telah melayarinya

What is the Purpose of the Blank Identifier

The Misterius "_," dalam Pengisytiharan Pembolehubah Go

Dalam Go, adalah perkara biasa untuk menjumpai pengisytiharan berubah-ubah seperti ini:

_, prs := m["example"]
Salin selepas log masuk

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

  • Pemeriksaan kewujudan kunci peta: _, sekarang := timeZone[tz]
  • Baca saluran kesahan: _, err := os.Read(f)
  • Membuang nilai lelaran gelung: untuk _, nilai := tatasusunan julat { ... }

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

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!

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