for-range遍历map是无序的

题目:

下面代码里的 counter 的输出值?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
func main() {
var m = map[string]int{
"A": 21,
"B": 22,
"C": 23,
}
counter := 0
for k, v := range m {
if counter == 0 {
delete(m, "A")
}
counter++
fmt.Println(k, v)
}
fmt.Println("counter is ", counter)
}
  • A. 2
  • B. 3
  • C. 2 或 3

答案解析:

参考答案及解析:C。

for range map 是无序的,如果第一次循环到 A,则输出 3;否则输出 2。


for-range遍历map是无序的
http://example.com/2023/08/12/Go每日一题/for-range遍历map是无序的/
作者
Feng Tao
发布于
2023年8月12日
更新于
2023年8月12日
许可协议