我正在Go中编写一个客户端 - 服务器应用程序.我想在Go中执行类似C的类型转换.
比如Go
type packet struct {
opcode uint16
data [1024]byte
}
var pkt1 packet
...
n, raddr, err := conn.ReadFromUDP(pkt1) // error here
Run Code Online (Sandbox Code Playgroud)
此外,我想执行类似C的memcpy(),这将允许我直接将接收到的网络字节流映射到结构.
例如,以上收到的pkt1
type file_info struct {
file_size uint32 // 4 bytes
file_name [1020]byte
}
var file file_info
if (pkt1.opcode == WRITE) {
memcpy(&file, pkt1.data, 1024)
}
Run Code Online (Sandbox Code Playgroud)