20210327关于copy(),bytes.Buffer,append()的坑 - ziyouzy/2021blog GitHub Wiki
今天先遇到了bytes.Buffer的问题,虽然可以直接temp :=bf.Bytes(),但是此时temp的内存块与Buffer的内存块依然是同一个内存块,因此当bf.Reset()后,再次bf.Write()时temp也会随之变化,这是第一个坑
于是想到了深拷贝,优先使用copy,这是因为copy比append效率要高,但是copy的话需要先知道现有字节序列的长度,也就是len(bf.Bytes()),否则无法拷贝完成,这是第二个坑
当无法得知具体长度是,就需要用到 temp :=append([]byte{},bf.Bytes()...)的形式了大致就是这样