a := []byte{1, 2, 3}
// Method: 1
b := make([]byte, len(a))
copy(b, a)
// Method: 2
c := append([]byte(nil), a...)问:方法2比方法1更简洁有效吗?
问:模式2和模式1是否等价,两者都是深拷贝?
谢谢你的帮助
发布于 2022-03-02 03:11:50
方法1更精确--因为它精确地分配了所需的切片大小并填充它。
方法2的附加部分将以8为单位分配容量(可能取决于您的体系结构)。因此,这3个初始项将被复制到大小为8的支持数组中:
https://stackoverflow.com/questions/71316774
复制相似问题