問題:
文字列型のキーを持つマップを作成したいと考えていますおよびリスト型の値。次のコード スニペットは正しいアプローチですか:
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