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返回的值也不愿意

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