Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menyemak Kewujudan Utama Merentasi Pelbagai Peta Go dengan Cekap?

Bagaimanakah Saya Boleh Menyemak Kewujudan Utama Merentasi Pelbagai Peta Go dengan Cekap?

Susan Sarandon
Susan Sarandonasal
2024-12-17 08:04:25663semak imbas

How Can I Efficiently Check for Key Existence Across Multiple Go Maps?

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:

  1. 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 {
        // ...
    }
  2. 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!

Kenyataan:
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