golang中的map,的 key 可以是很多种类型,比如 bool, 数字,string, 指针, channel , 还有 只包含前面几个类型的 interface types, structs, arrays 

显然,slice, map 还有 function 是不可以了,因为这几个没法用 == 来判断

原文如下:

==
两个 struct完全相等, 意味着里面的所有变量的值都完全相等,原文中的例子如下:
type Key struct {
      Path, Country string
}

hits := make(map[Key]int)