与日俱进,在 Go 1.20 中这种高效转换的方式又变了

鸟窝 at 
在 Go 1.19 的开发中, string.SliceHeader 和 string.StringHeader 经历了一个生死存亡的争斗,这两个类型一度被标记为弃用(deprecated),但是这两个类型经常用在 slice of byte 和 string 高效互转的场景中,如果被标记为弃用,但是目前还没有可替代的方法,所以这两个类型又把弃用标记去掉了,如无意外,它们也会在 Go 1.20 再次被标记为弃用。byte slice 和 string 的转换优化直接通过强转 string(bytes)或者[]byte(str)会带来数据的复制,性能不佳,所以在追求极致性能场景,我们会采用『骇客……