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 サイトの他の関連記事を参照してください。