go map的每个key的值,除了使用内置的数据类型,还会使用一些复杂的自定义数据类型,例如:map key为string 而value为数组。
了解一下go对map的基本设定:
map的key可以是任意内置的数据类型(例如:int、string、bool),或者其它可以通过"=="进行等值比较的数据类型,如:interface和指针都可以。
slice、数组、map、struct类型也可以作为key。
map的value可以是任意类型,例如嵌套一个slice到map中:
func main() {
testmap := map[string][]string{}
testmap["1"] = []string{"001", "002"}
fmt.Println(testmap["1"])
}
运行
go run main.go
[001 002]
遍历
func main(){
testmap := map[string][]string{}
testmap["1"] = []string{"001", "002"}
for order := range testmap{
fmt.Println(order, testmap[order])
fmt.Println(testmap[order][0])
fmt.Println(testmap[order][1])
}
}
运行
go run main.go
1 [001 002]
001
002