对 x 读写 data race 了,go run -race blah.go, race detector 说 data race 了那就是 data race 了不要反抗。data race 行为未定义不要碰运气,下面说的都是针对今天的特定实现的推理。
对这个特定的例子,不会有野指针或泄漏问题,也不会 panic. 因为 x 每次赋值都是 zero-value 数据指针为空, y 是先复制了 x 的 zero value(这里复制的确切含义参考
http://research.swtch.com/godata)再修改的,没有写写 data race, 拷过来的保证是 zero value 的话也就没有不一致和漏指针问题。