Pendapatan Cekap Keratan Utama daripada Peta Go
Dalam Go, mengambil sekeping kunci daripada peta mungkin kelihatan seperti proses yang mudah, tetapi ada ruang untuk pengoptimuman. Pertimbangkan senario berikut:
i := 0 keys := make([]int, len(mymap)) for k := range mymap { keys[i] = k i++ }
Kod ini berulang di atas peta, menyalin setiap kekunci ke dalam kekunci hirisan. Walau bagaimanapun, terdapat cara yang lebih ringkas dan cekap untuk mencapai hasil yang sama:
keys := make([]int, len(mymap)) i := 0 for k := range mymap { keys[i] = k i++ }
Dengan pra-peruntukkan kepingan dengan saiz yang betul, kami menghapuskan pengagihan semula yang tidak perlu semasa lelaran. Tambahan pula, kita boleh menghapuskan operasi tambah dengan memberikan nilai secara langsung kepada ahli tatasusunan. Ini bukan sahaja meningkatkan kebolehbacaan kod tetapi juga meningkatkan prestasi, seperti yang ditunjukkan oleh ujian yang melibatkan peta besar dengan kekunci rawak.
Dalam kebanyakan kes, perbezaan prestasi mungkin boleh diabaikan. Walau bagaimanapun, apabila bekerja dengan set data yang besar, pengoptimuman ini boleh menghasilkan peningkatan kecekapan yang ketara.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Semua Kekunci dengan Cekap daripada Peta Go sebagai Slice?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!