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

jan-bar · · 2617 次点击
jan-bar
想要拥有,必定付出。
嗯嗯。果然是有特例,那我还是改成挨个匹配吧,把`reflect.Kind`所有类型都`case`一下。我研究这个只是思考很多文章说的传参尽量用值传递,但是如果结构体里面包含一些引用类型,那么调用函数中修改也会影响调用方的变量,这些都是潜在坑。
#9
更多评论
```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