Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Isih Peta Go mengikut Nilainya?

Bagaimana untuk Isih Peta Go mengikut Nilainya?

Patricia Arquette
Lepaskan: 2024-12-20 07:56:13
asal
182 orang telah melayarinya

How to Sort a Go Map by its Values?

Mengisih Peta mengikut Nilainya dalam Go

Mengisih peta mengikut nilainya dalam Go memerlukan pelaksanaan tersuai antara muka isihan. Berikut ialah penyelesaian yang melaksanakan jenis PairList dan mentakrifkan fungsi yang diperlukan untuk mengisih:

<br>func rankByWordCount(wordFrequencies map[string]int) PairList {<br> pl := make(PairList, len(wordFrequencies))<br> i := 0<br> untuk k, v := julat wordFrequencies {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">pl[i] = Pair{k, v}
i++
Salin selepas log masuk

}
sort.Isih(sort.Reverse(pl))
return pl
}

taip Pair struct {
Key string
Value int
}

taip PairList []Pair

func (p PairList) Len() int { return len(p) }
func (p PairList) Kurang(i, j int) bool { pulangkan p[i].Nilai < p[j].Nilai }
func (p PairList) Tukar(i, j int){ p[i], p[j] = p[j], p[i] }

Menggunakan fungsi rankByWordCount, anda boleh mengisih peta sebagai berikut:


wordFrequencies := map[string]int{
"hello": 10,
"foo": 20,
"bar": 20 ,
}

diisihPair := rankByWordCount(wordFrequencies)

untuk _, pasangan := julat diisihPair {
fmt.Println(pair.Key, pasangan.Nilai)
}

Output:


foo 20
bar 20
hello 10

Atas ialah kandungan terperinci Bagaimana untuk Isih Peta Go mengikut Nilainya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan