来源:未知 时间:2021-05-03 17:48 作者:小飞侠 阅读:次
[导读] Go语言中对象的地址可能发生变化, 因此指针不能从其它非指针类型的值生成: funcmain(){varxint=42varpuintptr=uintptr(unsafe.Poiner(x))runtime.GC()varpx*int=(*int)(unsafe.Poiner(p))println(*px)} 当内存发送变化的...
Go语言中对象的地址可能发生变化, 因此指针不能从其它非指针类型的值生成: func main() { var x int = 42 var p uintptr = uintptr(unsafe.Poiner(&x)) runtime.GC() var px *int = (*int)(unsafe.Poiner(p)) println(*px)} 当内存发送变化的时候, 相关的指针会同步更新, 但是非指针类型的uintptr不会做同步更新. 同理, cgo中也不能保存Go对象地址. |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com