Setara Pemahaman Senarai Python dalam Go
Pemahaman senarai Python menyediakan cara ringkas untuk menapis dan mengubah jujukan. Dalam Go, fungsi penapis boleh digunakan untuk mencapai fungsi yang serupa. Walau bagaimanapun, untuk gelung mungkin menawarkan pendekatan yang lebih cekap dan mudah.
Untuk menghasilkan semula pemahaman senarai Python:
array = [a for a in anotherArray if (some condition)]
Dalam Go, anda boleh menggunakan fungsi penapis berikut:
import ( "fmt" "math" "math/big" ) func main() { anotherArray := []int{1, 2, 3, 4, 5, 6, 7, 8, 9} newArray := filter(anotherArray, func(a int) bool { return a%2 == 0 }) fmt.Println(newArray) // [2 4 6 8] }
Fungsi penapis mengambil dua hujah: urutan untuk ditapis dan fungsi predikat yang menentukan elemen yang hendak disertakan. Ia mengembalikan kepingan yang mengandungi hanya elemen yang memenuhi predikat.
Untuk ungkapan yang lebih kompleks, anda boleh menggunakan fungsi lambda, sama seperti contoh Python:
min := func() *big.Int { a := big.NewInt(0) return a }() for i := 0; i < n; i++ { for j := i; j < n; j++ { potentialMin := big.NewInt(0) potentialMin.Abs(a[i].Sub(a[i], b[j])) if potentialMin.Cmp(min) == -1 { min = potentialMin } } }
Walau bagaimanapun, GoDoc untuk perpustakaan penapis menasihatkan bahawa untuk gelung adalah lebih cekap dan lebih baik daripada pakej. Oleh itu, untuk kesederhanaan dan kebolehbacaan, penggunaan untuk gelung adalah disyorkan.
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!