Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Go Mengendalikan Pemeriksaan Keahlian Seperti 'jika x in' Python?

Bagaimanakah Go Mengendalikan Pemeriksaan Keahlian Seperti 'jika x in' Python?

Barbara Streisand
Barbara Streisandasal
2024-12-18 17:19:11367semak imbas

How Does Go Handle Membership Checks Like Python's

Jawapan Go kepada Konstruk "if x in" Python

Dalam pengaturcaraan, selalunya perlu untuk menyemak kewujudan elemen dalam koleksi. Dalam Python, ini boleh dicapai secara ringkas menggunakan binaan "jika x dalam". Walau bagaimanapun, adakah Go menyediakan mekanisme yang serupa?

Melaksanakan Kefungsian

Malangnya, Go tidak mempunyai binaan "jika x dalam" terbina dalam. Walau bagaimanapun, kefungsian ini boleh dilaksanakan dalam dua cara:

1. Menggunakan Slices.Contains (Go 1.18 and Higher)

Sejak Go 1.18, bahasa menyediakan fungsi slice.Contains, yang boleh digunakan untuk menyemak sama ada unsur yang diberikan wujud dalam kepingan:

package main

func main() {
    arr := []int{1, 2, 3}
    fmt.Println(slices.Contains(arr, 2)) // True
}

2. Menggunakan Fungsi Tersuai (Versi Go Sebelum 1.18)

Sebelum Pergi 1.18, anda perlu menentukan fungsi anda sendiri untuk melakukan semakan ini. Berikut ialah contoh:

package main

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

func main() {
    arr := []string{"a", "b", "c"}
    fmt.Println(stringInSlice("b", arr)) // True
}

Mengoptimumkan dengan Peta

Jika anda kerap melakukan semakan keahlian, anda disyorkan untuk menggunakan peta dan bukannya tatasusunan atau kepingan. Peta menyediakan carian masa berterusan, meningkatkan prestasi dengan ketara.

package main

func main() {
    visitedURL := map[string]bool{
        "http://www.google.com": true,
        "https://paypal.com":     true,
    }
    if visitedURL[thisSite] {
        fmt.Println("Already been here.")
    }
}

Walaupun Go tidak mempunyai persamaan yang tepat dengan binaan "jika x dalam" Python, pendekatan yang disebutkan di atas menyediakan penyelesaian yang fleksibel untuk menyemak kewujudan elemen dalam pelbagai senario .

Atas ialah kandungan terperinci Bagaimanakah Go Mengendalikan Pemeriksaan Keahlian Seperti 'jika x in' Python?. 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