Go 中的数组类型(与切片不同)是可比较的,因此它没有什么神奇之处:您可以像任何其他映射一样定义它:map[KeyType]ValueType where KeyType
将[3]int
and ValueType
将string
.
The 比较运算符== 和 != 必须为键类型的操作数完全定义;因此键类型不能是函数、映射或切片。
m := map[[3]int]string{}
m[[3]int{1, 2, 3}] = "First quarter"
m[[3]int{4, 5, 6}] = "Second quarter"
m[[3]int{7, 8, 9}] = "Third quarter"
m[[3]int{10, 11, 12}] = "Fourth quarter"
fmt.Println(m)
Output:
map[[1 2 3]:First quarter [4 5 6]:Second quarter
[7 8 9]:Third quarter [10 11 12]:Fourth quarter]
尝试一下去游乐场.
查询一个元素:
fmt.Println(m[[3]int{1, 2, 3}]) // Prints "First quarter"
您还可以一步创建地图:
m := map[[3]int]string{
[3]int{1, 2, 3}: "First quarter",
[3]int{4, 5, 6}: "Second quarter",
[3]int{7, 8, 9}: "Third quarter",
[3]int{10, 11, 12}: "Fourth quarter",
}