创建一个值为列表的字典。

huangapple go评论142阅读模式
英文:

go - creating dictionary with values as list

问题

我可以帮你翻译代码部分。以下是你想要翻译的内容:

我想在Go语言中创建一个字典,但其值包含列表。

  1. dict := map[string][]string{
  2. "A": []string{"1", "2"},
  3. "B": []string{"3", "4"},
  4. }

我们可以这样在Go语言中创建相同的字典。

英文:

I want to create dict in go language, but its value contains lists

  1. dict= {
  2. "A" : ["1", "2"],
  3. "B" : ["3", "4"]
  4. }

How can we create the same in go?

答案1

得分: 6

你可以创建一个字符串到字符串切片的映射:

  1. func main() {
  2. m := make(map[string][]string)
  3. // m中的每个字符串都映射到一个字符串切片
  4. m["A"] = []string{"1", "2"}
  5. m["B"] = []string{"3", "4"}
  6. fmt.Println(m["A"])
  7. // 向特定键的列表中添加元素
  8. m["A"] = append(m["A"], "10")
  9. // 类似地,可以创建一个新的键
  10. m["C"] = append(m["C"], "100")
  11. fmt.Printf("%+v\n", m)
  12. fmt.Printf("m[\"C\"] = %#v\n", m["C"]) // m["C"] = []string{"100"}
  13. }

这段代码创建了一个名为m的映射,其中每个字符串键都映射到一个字符串切片。你可以使用make函数创建一个空的映射,然后使用索引操作符[]来访问和修改映射中的值。通过使用append函数,你可以向特定键的切片中添加元素。在这个例子中,我们向键"A"的切片中添加了一个新元素"10",并创建了一个新的键"C",并将"100"添加到它的切片中。最后,我们使用fmt.Printf函数打印出整个映射m的内容,并打印出键"C"对应的切片。

英文:

You can create a map of string to slice of strings:

  1. func main() {
  2. m := make(map[string][]string)
  3. // Each string in the m maps to a string slice
  4. m["A"] = []string{"1", "2"}
  5. m["B"] = []string{"3", "4"}
  6. fmt.Println(m["A"])
  7. // Adding to the list of a particular key
  8. m["A"] = append(m["A"], "10")
  9. // Creating a new key can be done similarly
  10. m["C"] = append(m["C"], "100")
  11. fmt.Printf("%+v\n", m)
  12. fmt.Printf("m[\"C\"] = %#v\n", m["C"]) // m["C"] = []string{"100"}
  13. }

huangapple
  • 本文由 发表于 2016年7月18日 19:25:57
  • 转载请务必保留本文链接:https://go.coder-hub.com/38435527.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定