Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menyemak Kewujudan Utama Merentasi Pelbagai Peta Go dengan Cekap?
Semakan Kewujudan Kunci yang Cekap dalam Berbilang Peta
Dalam Go, adalah perkara biasa untuk bekerja dengan peta, yang merupakan struktur data yang cekap untuk mendapatkan kunci -pasangan nilai. Walau bagaimanapun, kod yang disediakan oleh pembangun menunjukkan keperluan untuk menyemak kewujudan kunci dalam dua peta berasingan. Persoalannya kekal sama ada proses ini boleh dibuat dengan lebih ringkas.
Seperti yang dijelaskan dalam jawapan, menggunakan borang v khas, ok := m[k] dalam Pergi untuk menyemak kewujudan kunci terhad kepada tugasan pembolehubah tunggal . Oleh itu, menggabungkan dua semakan menjadi satu jika syarat menggunakan borang ini tidak boleh dilaksanakan.
Walau bagaimanapun, terdapat pendekatan alternatif untuk mencapai kefungsian yang diingini:
Tugasan Tuple:
Jika jenis nilai peta ialah jenis antara muka dan anda boleh memastikan bahawa nilai sifar tidak digunakan, anda boleh melaksanakan tugasan tuple menggunakan dua ungkapan indeks:
if v1, v2 := m1["aaa"], m2["aaa"]; v1 != nil && v2 != nil { // ... }
Fungsi Pembantu:
Fungsi pembantu boleh dibuat untuk melaksanakan semakan kewujudan kunci kedua-dua peta dan kembalikan hasilnya:
func idx(m1, m2 map[string]interface{}, k string) ( v1, v2 interface{}, ok1, ok2 bool) { v1, ok1 = m1[k] v2, ok2 = m2[k] return }
Fungsi ini kemudiannya boleh digunakan sebagai berikut:
if v1, v2, ok1, ok2 := idx(m1, m2, "aaa"); ok1 && ok2 { // ... }
Pendekatan ini membolehkan semakan ringkas dan cekap bagi kewujudan kunci dalam berbilang peta dalam satu pernyataan bersyarat.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyemak Kewujudan Utama Merentasi Pelbagai Peta Go dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!