这是一个奇怪的情况,我不明白Go在做什么。最后,我使用了一些代码,这些代码使用了尚未插入该键的 map 的默认值。
package main
import (
"fmt"
"reflect"
)
func main() {
mmm := map[string][]string{}
nnn := map[string][]string {
"a": {},
}
x := mmm["a"]
y := nnn["a"]
z := []string{}
fmt.Println(reflect.DeepEqual(x,y))
fmt.Println(reflect.DeepEqual(x,z))
fmt.Println(reflect.DeepEqual(y,z))
fmt.Printf("%T, %T, %T", x, y, z)
}
我得到意外的输出
false
false
true
[]string, []string, []string
我会期待全面。执行此操作的地图的默认值是什么?true
慕的地10843
德玛西亚99
相关分类