Cara Lebih Pendek untuk Mengubah Elemen Senarai dalam Go
Dalam Python, menggunakan fungsi pada setiap elemen dalam senarai boleh dicapai menggunakan pemahaman senarai . Walau bagaimanapun, dalam Go, pendekatan yang lebih bertele-tele yang melibatkan gelung biasanya digunakan. Soalan ini meneroka cara ringkas untuk mencapai operasi ini dalam Go.
Penyelesaian Python:
list = [1,2,3] str = ', '.join(multiply(x, 2) for x in list)
Go Solution (Asal):
list := []int{1,2,3} list2 := []int for _,x := range list { list2 := append(list2, multiply(x, 2)) } str := strings.Join(list2, ", ")
Penyelesaian Shorter Go (Go 1.18 ):
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 }
Penggunaan:
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) })
Fungsi Peta ini menawarkan cara ringkas dan generik untuk menggunakan fungsi pada senarai sebarang jenis , menghasilkan senarai baharu nilai yang diubah.
Atas ialah kandungan terperinci Bagaimana untuk Mengubah Elemen Senarai Secara Ringkas dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!