我正在使用Python从硬件设备读取字节并解压缩字节,如下所示:
data = list(struct.unpack('{}f'.format(total_bytes), self.stdout.read(read_bytes)))
也就是说,我正在从设备读取字节(通过外部命令的stdout),并将其解压缩为浮点数列表。
我想在Go中做同样的事情。这是我的第一个Go项目,并且对语言非常陌生。这种方法行不通:
buf := make([]float32, numbytes)
io.ReadFull(stdout, pwrsBuf)
但失败,并显示错误cannot use buf (type []float32) as type []byte in argument to io.ReadFull
我知道我可以直接读取字节(转换为字节片),但是我不知道如何解压/将它们转换为浮点数,因为我可以使用上述单层代码在Python中进行操作。如何在Go中执行此操作?