在 Go 中使用列表和映射
在 Go 中创建字符串到值列表的映射涉及利用容器/中的数据结构列出包。下面是说明该过程的代码片段:
package main import ( "fmt" "container/list" ) func main() { // Create a map of string to list x := make(map[string]*list.List) // Assign a new list to a key in the map x["key"] = list.New() // Push a value to the list x["key"].PushBack("value") // Retrieve the first value from the list associated with the key fmt.Println(x["key"].Front().Value) }
此代码演示了如何创建将字符串键与值列表关联的映射。它初始化映射,在键“key”下向其中添加一个新列表,将一个值推送到列表,最后从列表中检索第一个值。
使用切片的替代方法
将列表与地图结合使用的另一种方法是使用切片。由于其简单性和效率,切片在 Go 中更常用。使用切片的代码如下所示:
package main import "fmt" func main() { // Create a map of string to string slices x := make(map[string][]string) // Append values to the slice associated with the key x["key"] = append(x["key"], "value") x["key"] = append(x["key"], "value1") // Retrieve the first and second values from the slice fmt.Println(x["key"][0]) fmt.Println(x["key"][1]) }
在此代码中,映射将字符串键与字符串切片相关联。值被附加到键下的切片中,然后检索并打印第一个和第二个值。
以上是如何在 Go 中高效地存储映射中的值列表?的详细内容。更多信息请关注PHP中文网其他相关文章!