我注意到 Go docs 中包含了这个定义:
type Values map[string][]string
我认为这是一个错误,但后来我尝试了这段代码并编译( Playground ):
package main
import "fmt"
func main() {
type MyType map[string][]string
foobar := make(MyType)
fmt.Println(foobar)
}
它在功能上等同于map[string]string
,还是有一些区别?
答案 0 :(得分:5)
答案 1 :(得分:1)
一个是字符串切片的映射,而另一个是字符串映射。一个结构具有单个维度,map[string][]string
具有两个维度。在每个键k
处,您都会在切片中包含项0-n
。因此,访问需要与fmt.Println(myInts[k][0])
相同的另一个方向,例如fmt.Println(myInts[k])
。url
。将数据放入其中,差异将更加明显。