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
Linda Hamiltonasal
2024-12-13 20:16:15163semak imbas

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
}

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
}

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
}

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!

Kenyataan:
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