字符串转成byte数组会发生内存拷貝吗?
字符串转成切片会产生拷贝。严格来说只要是发生类型强转都会发生内存拷贝。那么问题来了
频繁的内存拷贝操作听起来对性能不大友好。有没有什么办法可以在字符串转成切片的时候不用发生拷贝呢
- 那么如果想要在底层转换二者,只需要把
StringHeader
的地址强转成SliceHeader
就荇那么go有个很强的包叫unsafe
。-
4.再通过
*
转为指针指向的实际内容
-
字符串转成byte数组会发生内存拷貝吗?
字符串转成切片会产生拷贝。严格来说只要是发生类型强转都会发生内存拷贝。那么问题来了
频繁的内存拷贝操作听起来对性能不大友好。有没有什么办法可以在字符串转成切片的时候不用发生拷贝呢
StringHeader
的地址强转成 SliceHeader
就荇那么go有个很强的包叫 unsafe
。
4.再通过 *
转为指针指向的实际内容