三种类型的指针:
类型 | 用途 | 备注 |
---|---|---|
普通类型指针 | 传递对象的地址,不能做指针运算 | |
uintptr | 作为一段内容的首地址,可以做指针运算,GC 不把 uintptr 当指针,uintptr 无法持有对象。 | uintptr 类型的目标会被回收。 |
unsafe.Pointer | 不能做指针运算,可以用做在不同数据类型指针间转换 |
总结:unsafe.Pointer 可以让你的变量在不同的普通指针类型转来转去,也就是表示为任意可寻址的指针类型。而 uintptr 常用于与 unsafe.Pointer 打配合,用于做指针运算。
标签:运算,uintptr,unsafe,Golang,三种,类型,Pointer,指针 From: https://www.cnblogs.com/zongzw/p/18220052