Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Semak Keahlian Nilai dengan Cekap dalam Senarai Go?

Bagaimanakah Saya Boleh Semak Keahlian Nilai dengan Cekap dalam Senarai Go?

Susan Sarandon
Lepaskan: 2024-12-02 01:08:10
asal
956 orang telah melayarinya

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

Menyemak Nilai Keahlian dalam Senarai dalam Go

Dalam Python, kata kunci dalam menyemak dengan mudah sama ada nilai wujud dalam senarai. Kefungsian serupa dalam Go memerlukan pendekatan yang sedikit berbeza.

Satu pilihan ialah menggunakan peta dengan kunci rentetan dan nilai integer. Walau bagaimanapun, pendekatan ini memerlukan penetapan nilai integer yang tidak digunakan, yang boleh menyusahkan.

Menggunakan Peta dengan Nilai Boolean

Penyelesaian yang lebih elegan melibatkan mencipta peta dengan rentetan kunci dan nilai boolean. Ketiadaan kunci dalam peta mengembalikan nilai boolean lalai palsu.

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

if valid[x] {
    fmt.Println("found")
} else {
    fmt.Println("not found")
}
Salin selepas log masuk

Mengoptimumkan dengan Slice

Jika anda mempunyai sejumlah besar nilai yang sah , pertimbangkan untuk menggunakan kepingan untuk memulakan nilai peta kepada benar:

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

Lebih pendek Permulaan Menggunakan Pemalar

Sebagai alternatif, anda boleh mencipta pemalar yang tidak ditaip atau boolean dan mengoptimumkan pemulaan selanjutnya:

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

Dengan menggunakan salah satu teknik ini, anda boleh menyemak dengan cekap sama ada nilai terkandung dalam senarai dalam Go, menyediakan fungsi yang serupa dengan kata kunci Python.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak Keahlian Nilai dengan Cekap dalam Senarai Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan