Pelaksanaan Ringkas Aplikasi Fungsi untuk Elemen Senarai dalam Go
Apabila ingin menggunakan transformasi kepada setiap ahli senarai dan menyimpan hasilnya dalam senarai baharu, adalah perkara biasa untuk menggunakan gelung eksplisit. Walau bagaimanapun, dalam Python, pemahaman senarai memberikan alternatif yang ringkas, seperti yang ditunjukkan di bawah:
list = [1,2,3] str = ', '.join(multiply(x, 2) for x in list)
Dalam Go, pendekatan yang serupa memerlukan struktur gelung yang lebih bertele-tele:
list := []int{1,2,3} list2 := []int for _,x := range list { list2 := append(list2, multiply(x, 2)) } str := strings.Join(list2, ", ")
Walau bagaimanapun, Go 1.18 memperkenalkan penyelesaian yang elegan dengan fungsi Peta. Berikut ialah pelaksanaan Peta dan penggunaannya:
func Map[T, V any](ts []T, fn func(T) V) []V { result := make([]V, len(ts)) for i, t := range ts { result[i] = fn(t) } return result }
input := []int{4, 5, 3} outputInts := Map(input, func(item int) int { return item + 1 }) outputStrings := Map(input, func(item int) string { return fmt.Sprintf("Item:%d", item) })
Sintaks ringkas ini memudahkan transformasi elemen senarai dan menawarkan kelebihan ketara berbanding gelung eksplisit untuk tugasan tersebut.
Atas ialah kandungan terperinci Bagaimanakah Fungsi Peta Go Dapat Memperkemas Transformasi Elemen Senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!