|
|
@@ -231,11 +231,13 @@ bytes 包和字符串包十分类似(参见第 4.7 节)。而且它还包含
|
|
|
|
|
|
Buffer 可以这样定义:`var buffer bytes.Buffer`
|
|
|
|
|
|
-或者 new 出一个指针:`var r *bytes.Buffer = new(bytes.Buffer)`
|
|
|
+或者使用 new 获得一个指针:`var r *bytes.Buffer = new(bytes.Buffer)`
|
|
|
|
|
|
-或者通过函数:`func NewBuffer(buf []byte) *Buffer`,这就用创建了一个 Buffer 对象并且用 buf 初始化好了;NewBuffer 最好用在从 buf 读取的时候使用。
|
|
|
+或者通过函数:`func NewBuffer(buf []byte) *Buffer`,创建一个 Buffer 对象并且用 buf 初始化好;NewBuffer 最好用在从 buf 读取的时候使用。
|
|
|
|
|
|
-通过 buffer 串联字符串:类似于 Java 的 StringBuilder 类。
|
|
|
+**通过 buffer 串联字符串**
|
|
|
+
|
|
|
+类似于 Java 的 StringBuilder 类。
|
|
|
|
|
|
创建一个 Buffer,通过 buffer.WriteString(s) 方法将每个 string s 追加到后面,最后再通过 buffer.String() 方法转换为 string,下面是代码段:
|
|
|
|
|
|
@@ -253,7 +255,7 @@ Buffer 可以这样定义:`var buffer bytes.Buffer`
|
|
|
|
|
|
练习:
|
|
|
|
|
|
-练习 7.5: 给定 slice sl,将 a []byte 数组追加到 sl 后面。写一个函数 `Append(slice, data []byte) []byte`,该函数在 sl 不能存储更多数据的时候自动扩容。
|
|
|
+练习 7.5: 给定 slice sl,将 a []byte 数组追加到 sl 后面。写一个函数 `Append(slice, data []byte) []byte`,该函数在 sl 不能存储更多数据的时候自动扩容。
|
|
|
练习 7.6: 把一个缓存 buf 分片成两个 slice:第一个是前 n 个 bytes,后一个是剩余的,用一行代码实现。
|
|
|
|
|
|
## 链接
|