”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 使用“list.List”是创建带有字符串键和列表值的 Go 映射的最佳方法吗?

使用“list.List”是创建带有字符串键和列表值的 Go 映射的最佳方法吗?

发布于2024-12-19
浏览:789

Is Using `list.List` the Best Way to Create a Go Map with String Keys and List Values?

创建字符串到列表的映射

问题:

您想要创建一个带有字符串类型键的映射和列表类型的值。以下代码片段是否是正确的方法:

package main

import (
    "fmt"
    "container/list"
)

func main() {
    x := make(map[string]*list.List)

    x["key"] = list.New()
    x["key"].PushBack("value")

    fmt.Println(x["key"].Front().Value)
}

答案:

您提供的代码片段确实创建了字符串到列表的映射,但这可能不是最有效的方法。在 Go 中使用列表时,由于其性能优势,切片通常是更合适的选择。

使用切片:

以下代码片段演示了如何使用切片而不是列表:

package main

import "fmt"

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

    x["key"] = append(x["key"], "value")
    x["key"] = append(x["key"], "value1")

    fmt.Println(x["key"][0])
    fmt.Println(x["key"][1])
}

使用切片的好处:

与列表相比,切片具有多种优势,包括:

  • 性能:与访问和修改元素相比,切片的效率更高列表。
  • 易于使用: 切片具有更简单的语法,使它们更易于使用。
  • 内置函数: 切片提供各种内置函数,用于排序、搜索和切片等操作。
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3