func main() {
s := "hello world"
stringHeader := (*reflect.StringHeader)(unsafe.Pointer(&s))
sliceHeader := &reflect.SliceHeader{
Data: stringHeader.Data,
Len: stringHeader.Len,
Cap: stringHeader.Len,
}
slice := *(*[]byte)(unsafe.Pointer(sliceHeader))
fmt.Println(string(slice), s)
}
【Go】实现字符串零拷贝转为字符切片
于 2024-06-23 17:56:52 首次发布