我正在研究在 golang 映射中使用结构作为键。这个结构中的一个字段也应该是一个映射,这似乎与此处提供的文档背道而驰,该文档说只有具有可以比较的字段==并且!=可以位于用作映射中的键的结构的字段中的结构. 但是,我继续尝试以下操作:package mainimport "fmt"import "strings"func main() { fmt.Println("Hello, 世界") fmt.Println(strings.Join([]string{"obi", "$", "56"}, "")) z := make(map[string]float64) z["obi"] = 0.003 x := &test{ name:"testing", code:z, } a := &test{ name:"testing2", code:z, } y := make(map[*test] string) y[x] = "go home" y[a] = "come home" for key, val := range y{ fmt.Println(key.name, key.code, val) }}type test struct{ name string code map[string]float64}输出是:Hello, 世界obi$56testing map[obi:0.003] go hometesting2 map[obi:0.003] come home这似乎与文档背道而驰,因为用作键的结构中的字段是映射。我似乎有什么问题?
- 2 回答
- 0 关注
- 312 浏览
添加回答
举报
0/150
提交
取消