从测试数据的差异来看,string()转换[]byte数组,产生了拷贝。 也说明这个unsafe代码取得的性能收益还挺大的。
byte数组转string string([...]byte) string和slice githubissues src/reflect/value.go 反射有时候会被gc typeStringHeaderstruct{DatauintptrLenint}typeSliceHeaderstruct{DatauintptrLenintCapint} funcbytes2string(b[]byte)(string){//pbytes:=(*reflect.SliceHeader)(unsafe.Pointer(&b))//pstring:=(*re...