Golang map鎺掑簭濡備綍璁剧疆
鍦℅o璇█涓紝map鏄棤搴忕殑锛屾棤娉曠洿鎺ユ帓搴忋€備絾鏄彲浠ラ€氳繃灏唌ap鐨勯敭鎴栬€呴敭鍊煎鎻愬彇鍒皊lice涓紝鐒跺悗浣跨敤sort鍖呭slice杩涜鎺掑簭銆?/p>
浠ヤ笅鏄竴涓ず渚嬩唬鐮侊紝灞曠ず濡備綍瀵筸ap鐨勯敭杩涜鎺掑簭锛?/p>
package main
import (
"fmt"
"sort"
)
func main() {
m := map[string]int{
"banana": 2,
"apple": 1,
"orange": 3,
}
keys := make([]string, 0, len(m))
for k := range m {
keys = append(keys, k)
}
sort.Strings(keys)
for _, k := range keys {
fmt.Printf("%s: %d\n", k, m[k])
}
}
杈撳嚭缁撴灉锛?/p>
apple: 1
banana: 2
orange: 3
鍦ㄨ繖涓ず渚嬩腑锛岄鍏堝垱寤轰竴涓┖鐨勫瓧绗︿覆鍒囩墖keys锛岀劧鍚庝娇鐢╢or寰幆閬嶅巻map鐨勯敭锛屽苟灏嗛敭娣诲姞鍒?code>keys鍒囩墖涓€傛帴鐫€锛屼娇鐢?code>sort.Strings()鍑芥暟瀵瑰垏鐗?code>keys杩涜鎺掑簭銆傛渶鍚庯紝浣跨敤for寰幆閬嶅巻鎺掑簭鍚庣殑鍒囩墖锛屾寜鐓ф帓搴忓悗鐨勯『搴忔墦鍗板嚭map鐨勯敭鍜屽搴旂殑鍊笺€?/p>
濡傛灉瑕佸map鐨勯敭鍊煎杩涜鎺掑簭锛屽彲浠ヤ娇鐢ㄤ竴涓嚜瀹氫箟鐨勭粨鏋勪綋鍒囩墖锛屽苟瀹炵幇sort.Interface鎺ュ彛鐨?code>Len()銆?code>Less()鍜?code>Swap()鏂规硶杩涜鎺掑簭銆傚叿浣撳疄鐜版柟寮忓彲浠ュ弬鑰僄o璇█瀹樻柟鏂囨。涓殑绀轰緥浠g爜锛歨ttps://golang.org/pkg/sort/#example__sortKeys
相关问答