atomic.SwapPointer((*unsafe.Pointer)((unsafe.Pointer)(&oldP)), unsafe.Pointer(newP))
注意两点:
-
atomic.SwapPointer
修改的是传入的参数的值,所以转换成unsafe.Pointer
不要使用中间变量 - 第一个参数是指针的指针
atomic.SwapPointer((*unsafe.Pointer)((unsafe.Pointer)(&oldP)), unsafe.Pointer(newP))
注意两点:
atomic.SwapPointer
修改的是传入的参数的值,所以转换成unsafe.Pointer
不要使用中间变量