Go での可変サイズの配列の割り当て
const を使用して宣言された定数サイズの配列とは異なり、Go では配列を直接割り当てることはできません。実行時に決定されるサイズ。これは、次の不正なコードで明らかです:
n := 1 var a [n]int
ただし、解決策はあります。それは、配列の代わりにスライスを利用することです。スライスは基礎となる配列への参照であり、動的なサイズ変更機能を提供します。組み込みの make() 関数は、スライスとその基礎となる配列を作成するために使用されます。 3 つの引数を取ります。
make() を使用してスライスを作成することで、間接的に実行時サイズの配列:
n := 12 s := make([]int, n, 2*n)
この場合、サイズ 2*n の配列が割り当てられ、s は配列の最初の n 要素を含むスライスを参照します。
Go が可変サイズの配列の直接割り当てを許可しない理由は依然として不明ですが、スライスを使用する解決策は柔軟で効率的な代替手段を提供します。そのため、Go で動的データ構造を操作する場合、ほとんどのシナリオでスライスを使用することをお勧めします。
以上がGo で可変サイズの配列を割り当てるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。