下面代码里的 counter 的输出值?
package main
import "fmt"
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
Go在线运行
for range map 是无序的,如果第一次循环到 A,则输出 3;否则输出 2。