Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Saya Boleh Menyemak Kewujudan Nilai dengan Cekap dalam Senarai Go?
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!