Em Golang, como você converte uma fatia em uma matriz?

Eu sou novo em ir e tentando escrever um aplicativo que lê arquivos RPM. O início de cada bloco tem um char de Magic[4]byte.

Aqui é meu struct

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

Eu estou tentando fazer o seguinte:

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

Estou pesquisando on-line e não sei como ir de uma fatia para uma matriz (sem copiar). Eu sempre posso fazer a magia[]byte (ou mesmouint64), mas eu estava mais curioso sobre como eu iria do tipo[]byte para[4]byte se necessário para?

questionAnswers(5)

yourAnswerToTheQuestion