2022-08-23:以下go语言代码输出什么?A:map[baz:2 foo:0];B:map[bar:1 baz:2];C:map[baz:2];D:不确定。

package main

import (
    "fmt"
)

func main() {
    m := map[string]int{"foo": 0, "bar": 1, "baz": 2}
    for k := range m {
        if k == "foo" {
            delete(m, "bar")
        }
        if k == "bar" {
            delete(m, "foo")
        }
    }
    fmt.Println(m)
}

答案2022-08-23:

答案选D。因为 map 中元素顺序是随机的,因此结果不确定,每次运行结果可能不一样。

在这里插入图片描述