を理解することの違いを理解する
GOのマップを扱うとき、2つの異なる形式の初期化に遭遇する可能性があります:
1。リテラルの使用:
var m = map[string]int{}
2。メイク関数の使用:
var m = make(map[string]int)
機能の違い:
は、マップの初期化の方法にあります。 2番目のフォームは、makeを使用して、常に空のマップを生成します。ただし、最初のフォームは、文字通りのマップのユニークなケースです。マップリテラルは、初期のキー価値ペアでマップを構築できます。たとえば、
m := map[bool]string{false: "FALSE", true: "TRUE"}
等価とパフォーマンス:
あなたの例の一般化バージョンm:= make(map [t] u)
m := map[T]U{}のパフォーマンスの観点から、Make(map [t]] u)
を呼び出すために、2つのアプローチは空のマップを作成するときに同じように動作します。これは、Make関数に整数引数を追加することで実行できます。事前にアロークすると、マップの成長が予想される場合、将来のメモリの割り当てを減らすことができます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3