dongzhuo3376 2012-08-24 11:07
浏览 36
已采纳

golang地图打印混乱

Why is the map printing out of order, and how do I get it in to order?

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)
    }
}

Prints out:

10-October
7-July
1-January
9-September
4-April
5-May
2-Fabruary
12-December
11-Novenber
6-June
8-August
3-March
  • 写回答

2条回答 默认 最新

  • dongshiqin1352 2012-08-24 11:48
    关注

    Code:

    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: %s
    ", i, n)
        }
        fmt.Println("maps are non-sorted:")
        mm := map[int]string{2: "feb", 1: "jan"}
        for i, n := range mm {
            fmt.Printf("%2d: %s
    ", i, n)
        }
        fmt.Println("access items via sorted list of keys::")
        si := make([]int, 0, len(mm))
        for i := range mm {
            si = append(si, i)
        }
        sort.Ints(si)
        for _, i := range si {
            fmt.Printf("%2d: %s
    ", i, mm[i])
        }
    
        return 0, nil
    }
    

    (most of it stolen from M. Summerfield's book)

    output:

    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
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀