「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 文字列キーとリスト値を使用して Go マップを作成するには、`list.List` を使用するのが最良の方法ですか?

文字列キーとリスト値を使用して Go マップを作成するには、`list.List` を使用するのが最良の方法ですか?

2024 年 12 月 19 日に公開
ブラウズ:562

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])
}

スライスを使用する利点:

スライスにはリストに比べて次のようないくつかの利点があります:

  • パフォーマンス:スライスは、リストに比べて要素へのアクセスや変更の効率が高くなります。
  • Ease用途: スライスの構文がシンプルなので、操作が簡単です。
  • 組み込み関数: スライスは、次のような操作のための幅広い組み込み関数を提供します。ソート、検索、スライス。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3