Golang Study 三 map的顺序输出
生活随笔
收集整理的这篇文章主要介绍了
Golang Study 三 map的顺序输出
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
GO语言中遍历map输出的时候是无序的,不同的遍历会有不同的输出结果,如果想要顺序输出的话,需要额外保存顺序,然后再从map中读取。随着Go语言的不断发展,官方或许会提供额外的顺序读取map方法,目前要想这么做的话就得自己实现了。下面是一个顺序读取map例子,将map的key值存储到一个slice数组中,然后对数组进行排序,这样就可以通过slice数组里的值顺序去读map。
package mainimport ("fmt""sort" )func main() {/* 声明一个字符串切片,存储map的key值 */var Name []stringName = append(Name, "Bob", "Andy", "Clark", "David", "Ella")/* 声明索引类型为字符串的map */var Person = make(map[string]string)Person["Bob"] = "B"Person["Andy"] = "A"Person["Clark"] = "C"Person["David"] = "D"Person["Ella"] = "E"fmt.Println("未排序输出:")for key, value := range Person {fmt.Println(key, ":", value)}/* 对slice数组进行排序,然后就可以根据key值顺序读取map */sort.Strings(Name)fmt.Println("排序输出:")for _, Key := range Name {/* 按顺序从MAP中取值输出 */if Value, ok := Person[Key]; ok {fmt.Println(Key, ":", Value)}} }从下面执行结果看,遍历map的时候是无序的,经过对slice排序读取后,就得到了有序的map
总结
以上是生活随笔为你收集整理的Golang Study 三 map的顺序输出的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: SNMP功能开发简介 六 snmp功能
- 下一篇: C代码开发遇到的问题 变量初始化和结构体