我是Go新手,嘗試編寫讀取RPM文件的應用程序。每個塊的開始處有一個魔術字符[4]byte
。在Golang中如何將切片轉換爲數組
這裏是我的結構
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
(或者甚至是uint64
),但是我更加好奇,如果需要,我將如何從[]byte
到[4]byte
?
最近有關於是否應該允許切片到數組中的爭論。結果是不確定的,像你想要的東西可能會在未來添加。請記住,[4]字節是一個對象,而不是指向對象的指針。唯一可能的是分配給一個指向數組的指針。 – fuz
https://play.golang.org/p/ulk0kmJzf6 –