ホームページ > バックエンド開発 > Golang > Go のマップ内に値のリストを効率的に保存するにはどうすればよいですか?

Go のマップ内に値のリストを効率的に保存するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-23 03:08:16
オリジナル
613 人が閲覧しました

How to Efficiently Store Lists of Values within Maps in Go?

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])
}
ログイン後にコピー

このコードでは、マップは文字列キーを文字列のスライスに関連付けます。値はキーの下のスライスに追加され、最初と 2 番目の値が取得されて出力されます。

以上がGo のマップ内に値のリストを効率的に保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート