判断go对象是否能直接赋值进行深拷贝

jan-bar · · 2581 次点击
comparable和deepcopy压根就是不同的东西,只是相当大的一部分有所重合,但是还有一些其它场景是不重合的,譬如string、chan、interface,本身是包含指针数据的但却是可比较的。
#4
更多评论
```go func pointerless(x any) bool { var ptr uintptr ptr = *(*uintptr)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer(&x))) + unsafe.Sizeof(ptr))) return ptr == 0 } ```
#2