Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Semak Keahlian dalam Go Slices dan Peta dengan Cekap?

Bagaimana untuk Semak Keahlian dalam Go Slices dan Peta dengan Cekap?

Linda Hamilton
Lepaskan: 2024-12-13 20:16:15
asal
162 orang telah melayarinya

How to Efficiently Check for Membership in Go Slices and Maps?

Sintaks "jika x dalam" yang berkesan dalam Go: Perbandingan dengan Konstruk Python

Go tidak menyediakan binaan "jika x dalam" secara asli serupa dengan Python. Walau bagaimanapun, terdapat teknik yang berkesan untuk mencapai kefungsian yang sama untuk tatasusunan atau kepingan, dan dengan menggunakan peta untuk semakan keahlian yang lebih cekap.

Untuk Tatasusunan dan Kepingan

In Go 1.18 dan lebih baru, kepingan menawarkan fungsi Mengandungi untuk menyemak dengan mudah keahlian:

if contains.Contains(array, "x") {
  // Perform actions
}
Salin selepas log masuk

Sebelum Pergi 1.18, tiada pengendali terbina dalam untuk semakan keahlian tatasusunan atau kepingan. Fungsi tersuai boleh dilaksanakan:

func stringInSlice(a string, list []string) bool {
    for _, b := range list {
        if b == a {
            return true
        }
    }
    return false
}
Salin selepas log masuk

Untuk Peta

Peta menyediakan semakan keahlian yang lebih cekap dengan menyimpan pasangan nilai kunci. Untuk menyemak sama ada unsur wujud dalam peta, gunakan sintaks berikut:

if visitedURL[thisSite] {
    // Perform actions
}
Salin selepas log masuk

Where visitedURL ialah peta dengan kekunci mewakili unsur dan nilai yang mewakili kehadirannya (mis., benar untuk unsur sedia ada).

Atas ialah kandungan terperinci Bagaimana untuk Semak Keahlian dalam Go Slices dan Peta dengan Cekap?. 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