其他分享
首页 > 其他分享> > golang bytes.buffer

golang bytes.buffer

作者:互联网

 

 

 

 

 

 

 

 

 

 

 

    var buffer1 bytes.Buffer
    contents := "Simple byte buffer for marshaling data."
    fmt.Printf("Write contents %q ...\n", contents)
    buffer1.WriteString(contents)
    fmt.Printf("The length of buffer: %d\n", buffer1.Len())
    fmt.Printf("The capacity of buffer: %d\n", buffer1.Cap())
    fmt.Println()
Write contents "Simple byte buffer for marshaling data." ...  //打印结果是这样的
The length of buffer: 39 //这里输出了总长度 是可用长度 也就是未读取的长度
The capacity of buffer: 64 //容量长度
1     // 示例2。
2     p1 := make([]byte, 7)
3     n, _ := buffer1.Read(p1)
4     fmt.Printf("%d bytes were read. (call Read)\n", n)
5     fmt.Printf("The length of buffer: %d\n", buffer1.Len())
6     fmt.Printf("The capacity of buffer: %d\n", buffer1.Cap())
7     fmt.Println(string(p1))

下面是输出内容 我们从缓冲区读取了7个字节到p1字节切片里 那么buffer1的属性off(计数器)会向后挪移7个字节 长度也会减去7个字节 我们看下输出结果

7 bytes were read. (call Read)
The length of buffer: 32
The capacity of buffer: 64

再看下截取是示例:

buffer1.Truncate(6) //截取6个字节长度 从计数器为起始位置

 

标签:字节,buffer,fmt,bytes,golang,Printf,buffer1,contents
来源: https://www.cnblogs.com/jackey2015/p/11781517.html