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

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

go - creating dictionary with values as list

问题

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

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

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

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

英文:

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

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

How can we create the same in go?

答案1

得分: 6

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

func main() {
    m := make(map[string][]string)

    // m中的每个字符串都映射到一个字符串切片
    m["A"] = []string{"1", "2"}
    m["B"] = []string{"3", "4"}
    fmt.Println(m["A"])

    // 向特定键的列表中添加元素
    m["A"] = append(m["A"], "10")

    // 类似地,可以创建一个新的键
    m["C"] = append(m["C"], "100")

    fmt.Printf("%+v\n", m)
    fmt.Printf("m[\"C\"] = %#v\n", m["C"]) // m["C"] = []string{"100"}
}

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

英文:

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

func main() {

	m := make(map[string][]string)

    // Each string in the m maps to a string slice
	m["A"] = []string{"1", "2"}
	m["B"] = []string{"3", "4"}
	fmt.Println(m["A"])
	
	// Adding to the list of a particular key
	m["A"] = append(m["A"], "10")
	
	// Creating a new key can be done similarly
	m["C"] = append(m["C"], "100")
	
	fmt.Printf("%+v\n", m)

    fmt.Printf("m[\"C\"] = %#v\n", m["C"]) // m["C"] = []string{"100"}
}

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:

确定