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])
类似。将数据放入其中,差异将更加明显。在围棋中,它们是不同的。