import (
"bytes"
"encoding/binary"
)
// 结构转切片
func StructToBytes(Data interface{}) ([]byte, error) {
var buf bytes.Buffer
err := binary.Write(&buf, binary.LittleEndian, Data)
if err != nil {
return nil, err
}
return buf.Bytes(), nil
}
// 切片转结构
func BytesToStruct(buf []byte, Data interface{}) error {
return binary.Read(bytes.NewBuffer(buf), binary.LittleEndian, Data)
}
Golang 结构和切片互转
于 2024-01-31 17:54:05 首次发布
本文介绍了如何在Go语言中使用`encoding/binary`包进行结构体到字节切片(structtobytes)以及字节切片到结构体(bytestostruct)的转换,通过`binary.Write`和`binary.Read`方法实现数据的LittleEndian编码和解码。
摘要由CSDN通过智能技术生成