I'd like to use Go for low level project and avoid copying data.
I have a struct of fixed size:
type myStruct struct {
a uint8
b uint8
}
I would like to cast a pointer of my struct
with this slice of bytes
in order to read the value as if the slice of bytes was a struct without copying anything.
data := []byte{69,0}
var obj *myStruct
//something like:
obj = myStruct(data)
// or
obj = &myStruct(data)
In C it would be: obj = (struct myStruct*) data;
- Is it possible ? What are the solutions to do so ? The best practice ?
I'd like to void using offset and index for the []byte.
Since a slice is not a fixed memory, I guess it'd be possible by converting []byte
into a fixed array byte[0:2]
.