手捧星光945 2022-10-11 11:41 采纳率: 85%
浏览 9
已结题

GO语言切片输出顺序

问题遇到的现象和发生背景

Go语言切片遍历输出顺序问题

用代码块功能插入代码,请勿粘贴截图
package main

import (
    "fmt"
)

func main() {
    map1 := make(map[string]string)
    map1["p"] = "段落"
    map1["img"] = "图像"
    map1["h1"] = "一级标题"
    map1["h2"] = "二级标题"
    fmt.Printf("map1: %v\n", map1)
    for k, v := range map1 {
        delete(map1, k)
        fmt.Printf("v: %v\n", v)
    }
    fmt.Printf("map1: %v\n", map1)
}


运行结果及报错内容

img

我的解答思路和尝试过的方法

很奇怪想问一下为什么第一次输出的顺序跟代码中输入的不一致。
且用v接受rang返回的值也不愿意

  • 写回答

1条回答 默认 最新

  • honestman_ 2022-10-11 13:28
    关注

    go语言map(字典) go语言字典是无序的,而且每次刷新都是在变化的,但是通过对字典排序后,字典就是有序的,排序后的字典不会变化

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月19日
  • 已采纳回答 10月11日
  • 创建了问题 10月11日