map[string][]string 和 map[string]string 有什么区别?

我注意到在Go 文档中包含了这个定义:


type Values map[string][]string

我认为这是一个错误,但后来我尝试了这段代码,它编译(Playground):


包主


import "fmt"


func main() {

    type MyType map[string][]string


    foobar := make(MyType)


    fmt.Println(foobar)

}

它在功能上等同于map[string]string,还是有一些区别?


哔哔one
浏览 739回答 2
2回答

SMILET

一个是字符串切片的映射,而另一个是字符串的映射。一个结构有一个维度,map[string][]string有两个。在每个键处,切片中k都会有项目0-n。因此,访问需要另一个级别的方向,例如fmt.Println(myInts[k][0])与fmt.Println(myInts[k]). 把数据放进去,差别会更明显。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go