Convertendo vários bytes em uma matriz para outro tipo em Go

Eu comecei ontem com o Go, então peço desculpas antecipadamente pela pergunta boba.

Imagine que eu tenho uma matriz de bytes, como:

func main(){
    arrayOfBytes := [10]byte{1,2,3,4,5,6,7,8,9,10}
}

Agora, e se eu quisesse pegar os quatro primeiros bytes dessa matriz e usá-la como um número inteiro? Ou talvez eu tenha uma estrutura que se parece com isso:

type eightByteType struct {
    a uint32
    b uint32
}

Posso facilmente pegar os primeiros 8 bytes da minha matriz e transformá-lo em um objeto do tipo eightByteType?

Sei que essas são duas perguntas diferentes, mas acho que elas podem ter respostas semelhantes. Examinei a documentação e não vi um bom exemplo para conseguir isso.

Ser capaz de converter um bloco de bytes para qualquer coisa é uma das coisas de que realmente gosto no C. Espero que ainda consiga fazê-lo no Go.

questionAnswers(1)

yourAnswerToTheQuestion