在下面的代码中为什么n要修改的值?(游乐场链接)package mainimport ( "fmt" "math/big")func main() { n := big.NewInt(5) nCopy := new(big.Int) *nCopy = *n // The values of "n" and "nCopy" are expected to be the same. fmt.Println(n.String(), nCopy.String(), &n, &nCopy) nCopy.Mod(nCopy, big.NewInt(2)) // The values of "n" and "nCopy", I would think, should be different. fmt.Println(n.String(), nCopy.String(), &n, &nCopy)}阅读这个答案似乎是说我示例中的第三行main()应该复制n. 两个Println语句中输出的两个变量的地址似乎也表明这两个big.Ints存储在不同的内存位置。我意识到*nCopy = *n我可以使用而不是使用nCopy.Set(n)我的最终结果Println会显示我期望的结果。但我很好奇为什么*nCopy = *n似乎保留了两个指针之间的“链接”。
- 1 回答
- 0 关注
- 193 浏览
添加回答
举报
0/150
提交
取消