golang中map排序


package main

import (
	"fmt"
	"sort"
)

func main() {

	//golang中沒有一個專門的方法針對map的key進行排序
	//golang中的map默認為是無序的,也不是按照添加的順序存放的,每次遍歷得到的輸出可能不一樣
	//golang中的map排序,是先將key進行排序,然后根據key值遍歷輸出

	num := make(map[int]int, 8)

	num[0] = 100
	num[1] = 80
	num[7] = 78
	num[5] = 64
	num[2] = 787
	num[6] = 666

	fmt.Println(num)

	//如果按照map的key的順序進行排序輸出
	/*
		1.先將map的key放入切片中
		2.對切片排序
		3.遍歷切片,按照key來輸出map值
	*/

	var key []int
	for k, _ := range num {

		key = append(key, k)
	}
	sort.Ints(key)
	fmt.Println(key)

	for _, k := range key {
		fmt.Printf("num[%v] = %v \n", k, num[k])
	}
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM