Wie konvertiert man in Golang ein Slice in ein Array?

Ich bin neu in Go und versuche, eine Anwendung zu schreiben, die RPM-Dateien liest. Der Anfang jedes Blocks hat einen Zaubercharakter von[4]byte.

Hier ist meine Struktur

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

Ich versuche Folgendes zu tun:

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

Ich suche online und bin mir nicht sicher, wie ich von einem Slice zu einem Array wechseln soll (ohne zu kopieren). Ich kann immer die Magie machen[]byte (oder auchuint64), aber ich war eher neugierig, wie ich vom Typ ausgehen würde[]byte zu[4]byte wenn nötig?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage