【发布时间】:2018-01-09 22:43:05
【问题描述】:
我试图复制多维切片,因为当我更改了复制切片中的元素时,原始切片中的元素也被覆盖了。
唯一对我有用的方法是:
duplicate := make([][]int, len(matrix))
for i := 0; i < len(matrix); i++ {
duplicate[i] = make([]int, len(matrix[0]))
for j := 0; j < len(matrix[0]); j++ {
duplicate[i][j] = matrix[i][j]
}
}
还有其他方法 - 更短或更有效地达到相同的结果吗?谢谢
【问题讨论】:
-
您可以使用 golang.org/pkg/builtin/#copy 消除内部 for 循环,但我不确定它是否更有效。我猜应该是内置的。
-
谢谢,工作;)至少写得更少
-
我也可以稍后对其进行基准测试,因为我很想看看它的比较。
-
期待您的基准测试;) 如果您能给我一个提示,我该如何自己进行基准测试...谢谢
标签: go multidimensional-array slice