空のスライスを初期化する最適な方法を公開
柔軟なサイズで空のスライスを宣言する場合、次の疑問が生じます。推奨される初期化アプローチ - make([]int, 0) または[]int{}?
どちらのオプションを選択しても、意味的には同じ結果が得られます。ただし、Go 1.16 では、make([]int, 0) によって runtime.makeslice への内部呼び出しがトリガーされます。
または、nil 値を選択することもできます。
var myslice []int
で説明されているように、 Golang.org ブログによると、nil スライスは何も指していないにもかかわらず、長さ 0 のスライスのように機能します。長さはゼロで、割り当てを使用して追加できます。
ただし、nil スライスは JSON で "null" としてシリアル化され、空のスライスは "[]" としてレンダリングされることに注意してください。
@ArmanOrdookhani が明らかにしたように、選択した方法に関係なく、メモリ割り当てをトリガーするものはありません。
以上が「make([]int, 0) 対 []int{} 対 nil: Go で空のスライスを初期化する最良の方法は何ですか?」の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。