問題:
文字列型のキーを持つマップを作成したいと考えていますおよびリスト型の値。次のコード スニペットは正しいアプローチですか:
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]) }
を使用する利点スライス:
スライスには、リストに比べて次のようないくつかの利点があります。
以上が文字列キーとリスト値を使用して Go マップを作成するには、`list.List` を使用するのが最良の方法ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。