Dictionary map[string][]string和map[string]string之间有什么区别?

Dictionary map[string][]string和map[string]string之间有什么区别?,dictionary,go,Dictionary,Go,我注意到在中包含了以下定义: type Values map[string][]string 我认为这是一个错误,但后来我尝试了这段代码,它编译了(): 包干管 import "fmt" func main() { type MyType map[string][]string foobar := make(MyType) fmt.Println(foobar) } 它在功能上等同于映射[string]string,还是有一些区别?它们是不同的。一种是字符串到字

我注意到在中包含了以下定义:

type Values map[string][]string
我认为这是一个错误,但后来我尝试了这段代码,它编译了():

包干管

import "fmt"

func main() {
    type MyType map[string][]string

    foobar := make(MyType)

    fmt.Println(foobar)
}

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

它们是不同的。一种是字符串到字符串片段的映射,另一种是字符串到单个字符串的映射

[]字符串中的
[]
表示一个切片


一个是字符串片段的映射,另一个是字符串的映射。一个结构只有一个维度,
map[string][]string
有两个维度。在每个键
k
的切片中都会有项目
0-n
。因此,访问需要另一个级别的方向,如
fmt.Println(myInts[k][0])
fmt.Println(myInts[k])
类似。将数据放入其中,差异将更加明显。

在围棋中,它们是不同的。