Semak Senarai Keahlian dalam Go: Alternatif kepada Kata Kunci "in" Python
Dalam Python, kata kunci "in" menyediakan kata kunci yang mudah cara untuk menyemak sama ada nilai wujud dalam senarai. Go, walau bagaimanapun, tidak menawarkan persamaan langsung.
Menghampirkan Kata Kunci "dalam" dengan Peta
Satu pendekatan dalam Go ialah memanfaatkan peta[rentetan] bool sebagai perwakilan set. Dengan menyimpan nilai yang sah sebagai kunci dan memberikan nilai sebenar, anda boleh menguji keahlian dengan menyemak sama ada kunci terdapat dalam peta:
valid := map[string]bool{"red": true, "green": true, "yellow": true, "blue": true} if valid[x] { fmt.Println("found") } else { fmt.Println("not found") }
Menggunakan Nilai Sifar
Ambil kesempatan daripada fakta bahawa apabila kunci tidak ditemui dalam peta, nilai sifar untuk bool (palsu) dikembalikan. Ini membolehkan anda mengetepikan penetapan nilai sebenar yang jelas, memudahkan pemulaan:
valid := map[string]bool{"red", "green", "yellow", "blue"} if valid[x] { fmt.Println("found") } else { fmt.Println("not found") }
Pengoptimuman
Untuk senario dengan sejumlah besar nilai yang sah, pertimbangkan untuk menggunakan a untuk gelung julat untuk memulakan peta. Ini menyediakan penyelesaian padat:
for _, v := range []string{"red", "green", "yellow", "blue"} { valid[v] = true }
Selain itu, anda boleh mengoptimumkan kod dengan mentakrifkan pembolehubah const untuk mengelakkan nilai boolean berulang:
const t = true valid := map[string]bool{"red": t, "green": t, "yellow": t, "blue": t}
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak Keahlian Senarai dengan Cekap dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!