Rumah > Artikel > pembangunan bahagian belakang > Beberapa kaedah deduplikasi peta dalam golang
Bahasa Go ialah bahasa statik yang ditaip kuat, dikenali sebagai "bahasa C era Internet". Dalam pustaka standard bahasa Go, peta ialah struktur data yang sangat biasa digunakan, sering digunakan untuk menyimpan pasangan nilai kunci. Peta boleh dibuat menggunakan fungsi make dan menyediakan kaedah operasi yang kaya. Walau bagaimanapun, apabila bilangan elemen dalam peta bertambah, memori yang diduduki olehnya akan menjadi lebih besar dan lebih besar Jika tidak dikawal, ia boleh menyebabkan penggunaan memori program menjadi terlalu tinggi. Artikel ini akan memperkenalkan beberapa kaedah untuk melaksanakan deduplikasi peta golang untuk membantu anda mengawal memori program dengan lebih baik.
Untuk memadamkan elemen yang ditentukan dalam peta, anda perlu menggunakan fungsi padam terbina dalam. Walau bagaimanapun, untuk situasi di mana semua elemen dalam peta perlu dinyahduplikasi, kita boleh mencapai nyahduplikasi peta dengan merentasi peta dan mengira bilangan elemen.
Proses khusus adalah seperti berikut:
Kod sampel adalah seperti berikut:
func removeDuplicate(m map[string]string) map[string]string { counts := make(map[string]int) for _, v := range m { counts[v] += 1 } res := make(map[string]string) for k, v := range m { if counts[v] == 1 { res[k] = v } } return res }
Satu lagi kaedah penyahduplikasian peta golang ialah menggunakan slice as storan simpanan tambahan. Prosesnya adalah seperti berikut:
Kod sampel adalah seperti berikut:
func removeDuplicate(m map[string]string) []string { res := make([]string, 0, len(m)) temp := make(map[string]bool) for _, v := range m { if _, ok := temp[v]; !ok { temp[v] = true res = append(res, v) } } return res }
Menggunakan struct untuk menapis juga merupakan salah satu cara untuk mencapai deduplikasi peta. Langkah-langkah khusus adalah seperti berikut:
func removeDuplicate(m map[string]string) map[string]struct{} { res := make(map[string]struct{}, len(m)) for _, v := range m { res[v] = struct{}{} } return res }
Atas ialah kandungan terperinci Beberapa kaedah deduplikasi peta dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!