Pendekatan Go untuk Konstruk "jika x dalam"
Go menawarkan pelbagai pendekatan untuk menyemak sama ada unsur wujud dalam tatasusunan atau menyemak keahlian. Walaupun ia tidak mempunyai binaan "jika x dalam" yang jelas seperti Python, ia menyediakan beberapa alternatif bergantung pada versi dan struktur data yang digunakan.
1. Menggunakan Slices.Contains (Go 1.18 and Later)
For Go 1.18 dan versi yang lebih baru, kaedah slices.Contains menawarkan penyelesaian langsung dan cekap. Ia memerlukan tatasusunan atau hirisan sebagai input dan menyemak sama ada elemen yang ditentukan ada.
arr := []string{"a", "b", "c"} if slices.Contains(arr, "b") { // Element is present }
2. Lelaran Atas Tatasusunan (Sebelum Pergi 1.18)
Sebelum Pergi 1.18, tiada operator terbina dalam untuk menyemak keahlian. Sebaliknya, fungsi tersuai boleh diwujudkan untuk mengulangi tatasusunan:
func stringInSlice(a string, list []string) bool { for _, b := range list { if b == a { return true } } return false }
3. Menggunakan Peta untuk Semakan Keahlian
Jika lelaran pada keseluruhan senarai tidak diingini, menggunakan peta dan bukannya tatasusunan atau kepingan boleh memberikan penyelesaian yang lebih cekap untuk semakan keahlian:
visitedURL := map[string]bool { "http://www.google.com": true, "https://paypal.com": true, } if visitedURL[thisSite] { fmt.Println("Already been here.") }
Atas ialah kandungan terperinci Bagaimana Pergi Semak Keahlian Elemen Tanpa Binaan 'jika x dalam'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!