dongying6659 2018-05-17 06:19
浏览 55
已采纳

结构的golang映射作为键类型如何工作?

I don't know why Go given this following result. I think that a1 and a2 are two distinct pointers?

&{} !

Code

func main() {
    a1 := &A{}
    a2 := &A{}
    a3 := &A{}
    m2 := make(map[*A]string)
    m2[a1] = "hello"
    m2[a2] = "world"
    m2[a3] = "!"
    for k, v := range m2 {
        fmt.Println(k, v)
    }
}

type A struct {
}
  • 写回答

2条回答 默认 最新

  • douke7431 2018-05-17 06:24
    关注

    The language spec says:

    Pointers to distinct zero-size variables may or may not be equal.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?