Golang中的三种指针

三种类型的指针:

类型 用途 备注
普通类型指针 传递对象的地址,不能做指针运算
uintptr 作为一段内容的首地址,可以做指针运算,GC 不把 uintptr 当指针,uintptr 无法持有对象。 uintptr 类型的目标会被回收。
unsafe.Pointer 不能做指针运算,可以用做在不同数据类型指针间转换

总结:unsafe.Pointer 可以让你的变量在不同的普通指针类型转来转去,也就是表示为任意可寻址的指针类型。而 uintptr 常用于与 unsafe.Pointer 打配合,用于做指针运算。

posted @ 2024-05-29 13:17  zongzw  阅读(20)  评论(0)    收藏  举报