最快的方法似乎是在具有必要空间的切片后追加。我用基准测试结果扩展了@Anisus答案,并提供了最快的解决方案。
BenchmarkCopy 100000 18240 ns/opBenchmarkAppend 100000 18276 ns/opBenchmarkAppendPreCapped 100000 16407 ns/op
BenchmarkAppendPreCapped可能会避免切片归零和/或增大。看起来像这样:
copy := append(make([]T, 0, len(orig)), orig...)



