在golang中并行的指针赋值时会因为gc而产生空指针问题吗

对 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 的话也就没有不一致和漏指针问题。
■网友
1.append的数组,和x不是一个东西,x是指向数组的指针(引用),y也是指针,y在append的时候,append的是y指向的数组。一个是对数组操作一个是对指针操作,当然不冲突。2.gc不会在引用变成0的时候立即gc的


    推荐阅读