我是golang的新手,试图找出正确的方法来将一个字节块转换为正确的结构体。所有结构都以两个字节开头,这些字节决定了剩余字节的布局。在C中,我会指向内存块的开始,并将其转换为只包含这两个字节(下面的X)的简单结构,但在这里我得到一个无效的类型断言。我可能会在这里得到任何帮助,不胜感激。在golang中投射重叠结构
package main
import (
"fmt"
)
type A struct {
tag byte
ver byte
data1 int
data2 int
data3 int
}
type B struct {
tag byte
ver byte
data1 float32
}
type X struct {
tag byte
ver byte
}
func main() {
var a A
a.tag = 1
a.ver = 1
x := a.(X)
fmt.Printf("%d,%d", x.tag, x.ver)
}
的[进入结构和字节数组之间的转换(https://stackoverflow.com/questions/26372227/go-conversion-可能的复制结构体和字节数组之间) – captncraig