我使用了一个使用来自句子的单词作为其键和整数值的地图。为什么count ++(而不是count = count + 1)改变了Golang中地图的返回方式
func WordCount(s string) map[string]int {
var m map[string]int
m = make(map[string]int)
var substrings[]string
count := 0
substrings = strings.Split(s, " ")
for i := range substrings {
count = count + 1
m[substrings[i]] = count
}
return m
}
func main() {
fmt.Println(WordCount("I am learning GO since some days"))
}
上述代码ALWAYS显示地图以正确的顺序,即
map[I:1 am:2 learning:3 GO:4 since:5 some:6 days:7]
但是,如果我改变
count = count + 1
到
count++
钍Ë输出更改为:
map[learning:3 GO:4 since:5 some:6 days:7 I:1 am:2]
我知道地图迭代是随机的在Golang但为什么count = count + 1
总是会导致以有序的方式违背count++
要返回地图迭代?
难道你有机会在Go Playground上测试它吗?如果是这样,操场上的输出被缓存! – icza
这是来自golang之旅。此代码中没有任何内容正在使用巡视的任何现有代码。 –
我不是在谈论代码的来源,而在于你在哪里运行/测试它。 – icza