部分の宣言: var または make?
Go では、部分は不可欠なデータ構造です。ただし、部分を宣言するには 2 つの異なる方法があります。
var s []int
この宣言は、価値のない部分、つまり、価値のない部分を作成します。任意の要素を格納します。 s の参照値は nil です。
s := make([]int, 0)
このステートメントは空のスライス、つまり次のスライスを作成します。要素はありませんが、メモリが割り当てられています。 s の参照値は nil ではありません。
違いは何ですか?
これら 2 つの宣言の主な違いは、var は値のない部分を宣言し、make はメモリを割り当てることです。空のチャンクの場合。 var を使用すると、最初はストレージ領域が割り当てられていないチャンクが作成されます。メモリが割り当てられるまで、スライスに要素を格納することはできません。
一方、make は空のスライスにメモリを割り当てます。これは、要素をすぐにスライスに格納できることを意味します。ただし、初期のポーション サイズはゼロであるため、より多くのアイテムを保存する場合はポーション サイズを増やすことが重要です。
最良のオプションは何ですか?
使用する部分の正確なサイズがわからない場合は、一般的に var を使用して部分を宣言することをお勧めします。これにより、必要に応じてスライスを動的に拡大したりサイズ変更したりできます。
スライスの正確なサイズがわかっている場合は、make を使用するとメモリがすぐに割り当てられ、価値のないスライスの作成による過負荷が回避されるため、より効率的になります。部分。
以上がGo スライス: `var` または `make` – どちらの宣言が最適ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。