noescape()pxuintptr()uintptr指针地址intunsafe.Pointerintnoescape()runtimeunsafe.Pointerunsafe.Pointer
以上原文都有,然后主要说说 uintptr 和 unsafe.Pointer
指针地址int
可以使用此指针方式给结构体赋值
运行结果
&{0 0}
&{21 0}
uintptr(unsafe.Pointer(test))起始值,然后offsetof获取偏移量,a为结构体内a的指针,是一个通用指针
转换为int指针,再使用* 解引用,赋值