// MyBuffer2 project main.go
package main
import (
"bytes"
"log"
"os"
)
func main() {
log.SetFlags(log.Lshortfile)
buff := bytes.NewBufferString("123456789")
log.Println("buff = ", buff.String())
s := make([]byte, 4)
n, _ := buff.Read(s)
log.Println("buff = ", buff.String())
log.Println("s = ", string(s))
log.Println("n = ", n)
n, _ = buff.Read(s)
log.Println("buff = ", buff.String())
log.Println("s = ", string(s))
log.Println("n = ", n)
n, _ = buff.Read(s)
log.Println("buff = ", buff.String())
log.Println("s = ", string(s))
log.Println("n = ", n)
buff.Reset()
buff.WriteString("abcdefg")
log.Println("buff = ", buff.String())
b, _ := buff.ReadByte()
log.Println("b = ", string(b))
log.Println("buff = ", buff.String())
b, _ = buff.ReadByte()
log.Println("b = ", string(b))
log.Println("buff = ", buff.String())
bs, _ := buff.ReadBytes('e')
log.Println("bs = ", string(bs))
log.Println("buff = ", buff.String())
buff.Reset()
buff.WriteString("编译输出GO")
r, l, _ := buff.ReadRune()
log.Println("r = ", r, ", l = ", l, ", string(r) = ", string(r))
buff.Reset()
buff.WriteString("qwer")
str, _ := buff.ReadString('?')
log.Println("str = ", str)
log.Println("buff = ", buff.String())
buff.WriteString("qwer")
str, _ = buff.ReadString('w')
log.Println("str = ", str)
log.Println("buff = ", buff.String())
file, _ := os.Open("doc.go")
buff.Reset()
buff.ReadFrom(file)
log.Println("doc.go = ", buff.String())
buff.Reset()
buff.WriteString("中国人")
cbyte := buff.Bytes()
log.Println("cbyte = ", cbyte)
}
输出:
C:/Go/bin/go.exe build -i [D:/golang/src/MyBuffer2]
成功: 进程退出代码 0.
D:/golang/src/MyBuffer2/MyBuffer2.exe [D:/golang/src/MyBuffer2]
main.go:13: buff = 123456789
main.go:17: buff = 56789
main.go:18: s = 1234
main.go:19: n = 4
main.go:22: buff = 9
main.go:23: s = 5678
main.go:24: n = 4
main.go:27: buff =
main.go:28: s = 9678
main.go:29: n = 1
main.go:33: buff = abcdefg
main.go:36: b = a
main.go:37: buff = bcdefg
main.go:40: b = b
main.go:41: buff = cdefg
main.go:44: bs = cde
main.go:45: buff = fg
main.go:50: r = 32534 , l = 3 , string(r) = 编
main.go:55: str = qwer
main.go:56: buff =
main.go:60: str = qw
main.go:61: buff = er
main.go:66: doc.go = // MyBuffer2 project doc.go
/*
MyBuffer2 document
*/
package main
main.go:71: cbyte = [228 184 173 229 155 189 228 186 186]
成功: 进程退出代码 0.