Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Menyemak Kewujudan Nilai dengan Cekap dalam Senarai Go?

Bagaimanakah Saya Boleh Menyemak Kewujudan Nilai dengan Cekap dalam Senarai Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-25 11:19:11947semak imbas

How Can I Efficiently Check for Value Existence in Go Lists?

Semakan Nilai yang Cekap dalam Senarai Pergi dengan Peta

Apabila berurusan dengan senarai dalam Go, anda mungkin menghadapi keperluan untuk menentukan sama ada nilai wujud dalam senarai. Walaupun Python menawarkan kata kunci "dalam" yang mudah untuk tujuan ini, Go tidak mempunyai padanan langsung.

Satu pendekatan ialah memanfaatkan simpulan bahasa yang ditetapkan, di mana anda memetakan setiap nilai kepada nilai integer arbitrari. Walau bagaimanapun, kaedah ini memerlukan penetapan nilai integer yang tidak digunakan, yang boleh menyusahkan.

Menggunakan Peta untuk Manipulasi Set Cekap

Penyelesaian alternatif terletak pada penggunaan peta[rentetan ]bool sebagai satu set. Dengan memetakan nilai yang sah kepada nilai boolean "true", anda boleh menguji keahlian seperti berikut:

valid := map[string]bool{"red": true, "green": true, "yellow": true, "blue": true}

if valid[x] {
    fmt.Println("found")
}

Apabila menanyakan kunci yang tiada dalam peta, nilai lalai "false" dikembalikan, menunjukkan ketiadaan .

Mengoptimumkan Kod dengan Idiom Permulaan

Kepada lancarkan proses pemulaan, pertimbangkan untuk menggunakan sepotong nilai yang sah dan gelung untuk julat:

for _, v := range []string{"red", "green", "yellow", "blue"} {
    valid[v] = true
}

Sebagai alternatif, tentukan pemalar satu huruf boolean untuk pemulaan ringkas:

const t = true
valid := map[string]bool{"red": t, "green": t, "yellow": t, "blue": t}

Dengan menggunakan strategi ini, anda boleh menyemak keahlian nilai dalam senarai Go dengan cekap tanpa memerlukan kata kunci "dalam" Python, sambil menggunakan keupayaan daripada jenis peta Go untuk fungsi seperti set.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyemak Kewujudan Nilai dengan Cekap dalam Senarai Go?. 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