Go で配列をスライスに変換する
Go で配列とスライスを操作する場合、配列の変換が必要になる場合があります。さらに処理するためにスライスに変換されます。たとえば、配列を返す関数があるが、別の関数では入力パラメータとしてスライスが必要であるとします。
このニーズに対処するには、スライス式 array[: ]。この式は、データのコピーを作成せずに、基になる配列を指すスライス ヘッダーを効果的に作成します。
これを実現する方法を示す例を次に示します。
func Foo() [32]byte { return [32]byte{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'} } func Bar(b []byte) { fmt.Println(string(b)) } func main() { x := Foo() Bar(x[:]) }
この例では、 Foo 関数は、数字「0」から「f」を表す 32 バイトの配列を返します。 Bar 関数はバイトのスライスを受け取り、その文字列表現を出力します。
Bar(x[:]) を呼び出すと、データをコピーせずに基になる配列 x を参照するスライス ヘッダーを作成することになります。 [:] 式は基本的に、配列の先頭から始まり最後の要素で終わるスライスを作成します。
この変換では、基になるデータのコピーが作成されるのではなく、代わりに、同じデータへの異なるビューまたは参照を提供します。これは、不要なコピーを作成せずに関数間でデータを受け渡す必要がある場合に特に便利です。
以上がGo 配列をスライスに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。