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

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

DDD
Lepaskan: 2024-11-29 02:11:08
asal
868 orang telah melayarinya

How Can I Efficiently Check for Value Existence in a Go List?

Menyemak Kehadiran Nilai dalam Senarai dalam Go

Dalam Python, kata kunci dalam mengesahkan dengan mudah jika elemen hadir dalam senarai. Go, sebaliknya, tidak mempunyai persamaan yang jelas. Artikel ini meneroka teknik untuk melaksanakan semakan sedemikian dalam Go.

Satu pendekatan melibatkan penggunaan set, yang memetakan nilai kepada nilai integer yang tidak digunakan. Walau bagaimanapun, ini memerlukan spesifikasi integer tiruan untuk setiap elemen dan tidak dianggap sebagai penyelesaian yang ideal.

Pendekatan yang lebih elegan ialah memanfaatkan peta rentetan kepada boolean. Peta berfungsi sebagai satu set dan ketiadaan pasangan nilai kunci dalam peta sama dengan palsu, yang boleh ditafsirkan sebagai elemen yang tiada dalam senarai.

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

Nota:

Untuk kecekapan dengan senarai yang besar, pertimbangkan sama ada untuk memulakan peta menggunakan gelung julat untuk atau mencipta pemalar yang tidak ditaip untuk mengoptimumkan nilai boolean tugasan.

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

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyemak Kewujudan Nilai dengan Cekap dalam Senarai Pergi?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan