Cara Mencari Elemen Tatasusunan Seperti Konstruk "if x in" Python dalam Go
Dalam Python, anda boleh menyemak dengan mudah sama ada unsur wujud dalam tatasusunan menggunakan binaan "jika x dalam". Adakah Go menawarkan mekanisme yang sama untuk menyemak keahlian tatasusunan tanpa mengulangi keseluruhan tatasusunan?
Jawapan
Go tidak mempunyai persamaan langsung dengan "jika x in" Python bina untuk tatasusunan. Walau bagaimanapun, bermula dengan Go 1.18, anda boleh menggunakan fungsi slices.Mengandungi untuk kepingan untuk mencapai hasil yang serupa:
if slices.Contains(array, x) { // do something }
Pre-Go 1.18 Solution
Sebelum Pergi 1.18, tiada pengendali terbina dalam untuk menyemak keahlian tatasusunan. Anda perlu mengulangi tatasusunan dan menggunakan fungsi tersuai seperti berikut:
func stringInSlice(a string, list []string) bool { for _, b := range list { if b == a { return true } } return false }
Pendekatan Alternatif: Peta
Untuk mengelakkan keperluan untuk lelaran, anda boleh gunakan peta dan bukannya tatasusunan atau kepingan:
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 Adakah Go Mempunyai Setara dengan 'if x in' Python untuk Keahlian Array?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!