Dalam siaran ini, kami meneroka cara untuk meniru pemahaman senarai Python dalam Go, khususnya sintaks:
array = [a for a in anotherArray if (some condition)]
Go menawarkan penapis perpustakaan yang dicadangkan oleh Rob Pike. Pustaka ini menyediakan fungsi Choose() yang mengambil kepingan dan fungsi boolean sebagai argumen. Ia mengembalikan kepingan baharu yang mengandungi hanya elemen yang memenuhi syarat yang ditentukan.
Contohnya:
import "google.golang.org/x/exp/slices" func TestChoose(t *testing.T) { a := []int{1, 2, 3, 4, 5, 6, 7, 8, 9} expect := []int{2, 4, 6, 8} result := slices.Choose(a, isEven) }
Sementara pustaka penapis menawarkan kemudahan penyelesaian, dokumentasi rasminya menasihatkan agar tidak digunakan, kerana kecekapannya yang berkurangan berbanding dengan gelung eksplisit.
Dokumentasi Go mengesyorkan penggunaan untuk gelung sebagai alternatif untuk menyenaraikan pemahaman. Mereka menawarkan penyelesaian yang lebih cekap, terutamanya dalam situasi di mana seseorang perlu mengawal susunan operasi atau mengehadkan penjanaan data.
Sebagai contoh, kod berikut mengira nilai minimum dalam gelung bersarang:
min := min(abs(a[i], b[j]) for i in range(n) for j in range(i, n))
Atas ialah kandungan terperinci Bagaimana untuk Mencapai Fungsi Pemahaman Senarai Python dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!