看看
encoding/binary,以及
bytes.Buffer
TL; DR版本:
import ( "encoding/binary" "bytes")func main() { var s eightByteType binary.Read(bytes.NewBuffer(array[:]), binary.LittleEndian, &s)}这里要注意几件事:我们传递array [:],或者您也可以将数组声明为切片(
[]byte{1, 2, 3, 4,5}),让编译器担心大小等问题,并且eightByteType不能按原样工作(IIRC),因为
binary.Read不会触摸私人领域。这将工作:
type eightByteType struct { A, B uint32}


