最近看了golang中的unsafe包,一直没有理解其中的unsafe.Pointer和uintptr有什么区别,请大神赐教。
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
unsafe.Pointer 可以在不同的指针类型间转换,做到类似 C语言 中 void * 用途;而 uintptr 不行;
将 unsafe.Pointer 转成 uintptr, 变相做指针运算。当然,还得用 Pointer 转回来才能取值。
关于Go语言指针运算(不建议进行运算),可以看看:http://1234n.com/?post/rseosp
`单行代码`
unsafe.Pointer 可以在不同的指针类型间转换,做到类似 C语言 中 void * 用途;而 uintptr 不行;
将 unsafe.Pointer 转成 uintptr, 变相做指针运算。当然,还得用 Pointer 转回来才能取值。
关于Go语言指针运算(不建议进行运算),可以看看:http://1234n.com/?post/rseosp