Memetakan Tatasusunan Objek Menggunakan Fungsi Generik
Dalam Go, fungsi yang beroperasi pada tatasusunan mempunyai had tertentu kerana sifatnya yang tidak fleksibel dan berkaitan overhed dengan menyalin hujah. Artikel ini meneroka pendekatan untuk memetakan tatasusunan objek dengan cara yang ringkas menggunakan fungsi peringkat atas generik.
Untuk memetakan tatasusunan objek dalam Go dengan satu pelapik, anda boleh mentakrifkan fungsi generik bernama Peta seperti berikut:
func Map[T, U any](ts []T, f func(T) U) []U { us := make([]U, len(ts)) for i := range ts { us[i] = f(ts[i]) } return us }
Fungsi ini mengambil pelbagai jenis T dan fungsi f yang mengambil parameter jenis T dan mengembalikan nilai jenis U. Ia mengembalikan tatasusunan jenis U yang mengandungi nilai yang dipetakan.
Untuk memetakan tatasusunan objek, anda boleh menggunakan fungsi Peta seperti ini:
names := []string{"Alice", "Bob", "Carol"} fmt.Println(Map(names, utf8.RuneCountInString))
Kod ini akan mencetak output berikut kepada stdout:
[5 3 5]
Fungsi Peta adalah berdasarkan gelung dan boleh memperkenalkan overhed berbanding dengan fungsi asli yang beroperasi pada tatasusunan. Adalah penting untuk menimbang faedah sintaks ringkas berbanding potensi implikasi prestasi.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memetakan Tatasusunan Objek dengan Cekap dalam Go Menggunakan Fungsi Generik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!