34

RPM ファイルを読み取るアプリケーションを作成しようとしています。各ブロックの先頭には、 の魔法の文字があり[4]byteます。

ここに私の構造体があります

type Lead struct {
  Magic        [4]byte
  Major, Minor byte
  Type         uint16
  Arch         uint16
  Name         string
  OS           uint16
  SigType      uint16
}

私は次のことをしようとしています:

lead := Lead{}
lead.Magic = buffer[0:4]

私はオンラインで検索していますが、スライスから配列に移動する方法がわかりません(コピーせずに)。私はいつ[]byteでも Magic (または) を作成できますが、必要に応じてタイプからuint64どのように変更するかについてもっと興味がありました。[]byte[4]byte

4

7 に答える 7

10

これを試して:

copy(lead.Magic[:], buf[0:4])
于 2013-09-30T11:23:10.350 に答える
10

その構造体内に 4 バイトが割り当てられており、その 4 バイト セクションに値を割り当てたいとします。コピーせずにそれを行う概念的な方法はありません。

それを行う方法については、copy組み込みを参照してください。

于 2013-09-29T02:57:10.867 に答える