Aplikasi Fungsi Cekap untuk Senarai dalam Go
Untuk menggunakan fungsi pada setiap elemen dalam senarai Go dan menyimpan hasilnya dalam senarai baharu , pendekatan tradisional melibatkan gelung pada senarai input dan melampirkan keputusan pada senarai output. Walau bagaimanapun, dengan Go 1.18 dan ke atas, terdapat penyelesaian yang lebih ringkas dan generik: fungsi Map.
Fungsi Map mengambil senarai elemen jenis T dan fungsi yang menukar setiap elemen kepada nilai jenis V. Ia mengembalikan senarai baharu jenis []V yang mengandungi hasil penggunaan fungsi pada setiap elemen dalam senarai input.
Berikut ialah contoh:
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 } // Usage example 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) })
Dalam contoh ini, input ialah senarai integer. Kita boleh menggunakan fungsi Map dengan dua fungsi berbeza untuk mencipta senarai integer incremented (outputInts) dan senarai rentetan terformat (outputStrings). Ini menghapuskan keperluan untuk gelung yang jelas dan menyediakan alternatif yang ringkas dan cekap kepada pendekatan tradisional.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Fungsi pada Setiap Elemen dalam Senarai Pergi dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!