Go でスライスを配列に変換する
RPM ファイル リーダーを開発しようとすると、スライスを構造体の配列フィールド。 Go では直接変換するための組み込みメソッドがないため、これは難しいタスクになる可能性があります。
この制限を回避するには、次のオプションを検討してください。
Using copy with a Slice Pretense:
copy メソッドは、同じ基礎となる配列で一時スライスを作成することによって、スライスを配列にコピーするように騙される可能性があります。
varLead := Lead{} magicSlice := someSlice[0:4] // Create a temporary slice that references the array underlying the array field copy(varLead.Magic[:], magicSlice)
手動ループベースの割り当て:
または、スライスをループして、各要素を対応する配列要素に手動で割り当てることもできます。 .
for index, b := range someSlice { varLead.Magic[index] = b }
リテラル変換:
配列のサイズが固定されている場合は、リテラル値を使用して配列を直接初期化できます。
type Lead struct { Magic [4]byte // Other fields... } lead := Lead{ Magic: [4]byte{0x12, 0x34, 0x56, 0x78}, }
以上がGo でスライスを配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。