-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
参考资料:
-
How to use unsafe get a byte slice from a string without memory copy
-
[zy] -
strings.Builder的Reset()方法与bytes.Buffer的Reset()方法不同:strings.Builder只是解除了跟底层数据的绑定关系。源码bytes.Buffer是复用了底层数据。- 为什么
strings.Builder不复用底层的数据呢。是因为:strings.Builder在做string转换的时候做了优化,具体参考:Why doesn't string.Builder Reset() preserve the underlying buffer?。它返回出去的字符串,仍然在复用底层的地址。相当于它的优化点在于String()函数。 - 而
bytes.Buffer的String()是复制一块内存,相当于做了一层内存拷贝。
Metadata
Metadata
Assignees
Labels
No labels