Go语言 unsafe的妙用

abv123456789 ·
在这里j的偏移量跟系统无关吧,是内对对齐的方式影响的。i的地址是结构体的初始地址,但是i暂用了4个字节之后,又补齐了4个字节,然后才是 j 的地址,是按最大的那个类型来对齐的。
#4
更多评论
这里有一些问题:没有区分32位还是64位。type V struct { i int32, j int64} 在32位和64位下,j 的偏移是不一样的,分别是 4 和 8; 另外,*i = int32(98) 中的 强制类型转换 是没有必要的。
#1
同意楼上的, 需要区别执行机器是32位系统还是64位,例子应该是在32位机器下写的.
#2