go语言map,字典

go语言map(字典)

go语言字典是无序的,而且每次刷新都是在变化的,但是通过对字典排序后,字典就是有序的,排序后的字典不会变化,详情见下面代码

package main

import (
        "fmt"
        "sort"
)

func testMaosort()  {
        var a  map[int]int
        a = make(map[int]int,5)
        a[8]=12
        a[4]=22
        a[7]=33
        a[5]=44
        a[12]=11

        //go字典是无序的,需要对key值进行排序后生成有序
        //for k,v :=range a{
        //      fmt.Println(k,v)
        //}

        var keys []int
        for k,_ :=range a{
                keys = append(keys,k)
        }
        sort.Ints(keys)
        for _,v :=range keys{
                fmt.Println(v,a[v])
        }
}
func main()  {
        testMaosort()
}


2.map翻转

func testreverse()  {
        var a map[string]int
        var b map[int]string
        a = make(map[string]int)
        b = make(map[int]string)
        a["hhh"] = 100
        a ["vvv"] = 10
        for k,v :=range a{
                b[v]=k
        }
        fmt.Println(b)
}
func main()  {
    testreverse()
}