加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang地图打印不按顺序

发布时间:2020-12-16 19:21:05 所属栏目:大数据 来源:网络整理
导读:为什么地图打印不正常,我该如何按顺序打印? package mainimport ( "fmt")type monthsType struct { no int text string}var months = map[int]string{ 1:"January",2:"Fabruary",3:"March",4:"April",5:"May",6:"June",7:"July",8:"August",9:"September",1
为什么地图打印不正常,我该如何按顺序打印?
package main

import (
    "fmt"
)

type monthsType struct {
    no   int
    text string
}

var months = map[int]string{
    1:"January",2:"Fabruary",3:"March",4:"April",5:"May",6:"June",7:"July",8:"August",9:"September",10:"October",11:"Novenber",12:"December",}

func main(){
    for no,month := range months {
        fmt.Print(no)
        fmt.Println("-" + month)
    }
}

打印出来:

10-October
7-July
1-January
9-September
4-April
5-May
2-Fabruary
12-December
11-Novenber
6-June
8-August
3-March
码:
func DemoSortMap() (int,error) {
    fmt.Println("use an array to access items by number:")
    am := [2]string{"jan","feb"}
    for i,n := range am {
        fmt.Printf("%2d: %sn",i,n)
    }
    fmt.Println("maps are non-sorted:")
    mm := map[int]string{2: "feb",1: "jan"}
    for i,n := range mm {
        fmt.Printf("%2d: %sn",n)
    }
    fmt.Println("access items via sorted list of keys::")
    si := make([]int,len(mm))
    for i := range mm {
        si = append(si,i)
    }
    sort.Ints(si)
    for _,i := range si {
        fmt.Printf("%2d: %sn",mm[i])
    }

    return 0,nil
}

(其中大部分是从M. Summerfield的book中偷走的)

输出:

use an array to access items by number:
 0: jan
 1: feb
maps are non-sorted:
 2: feb
 1: jan
access items via sorted list of keys::
 1: jan
 2: feb

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读