github.com/code-reading/golang@v0.0.0-20220303082512-ba5bc0e589a3/coding/bufio/03-read-writer.go (about) 1 package main 2 3 import ( 4 "bufio" 5 "bytes" 6 "fmt" 7 ) 8 9 func main() { 10 b := bytes.NewBuffer(make([]byte, 0)) 11 bw := bufio.NewWriter(b) 12 // s := strings.NewReader("123") 13 br := bufio.NewReader(b) // 将buffer 同时挂载到Writer 和Reader 上 通过NewReadWriter联通 14 rw := bufio.NewReadWriter(br, bw) 15 // p, isPrefix, _ := rw.ReadLine() 建议用ReadBytes("\n") 或者 ReadString("\n")代替 16 // fmt.Printf("line:%s, isPrefix:%v\n", p, isPrefix) //123 17 p, _ := rw.ReadString('\n') 18 fmt.Println(p) 19 rw.WriteString("asdf") 20 rw.Flush() 21 fmt.Println(b) 22 pp, _ := rw.ReadBytes('\n') 23 fmt.Println(string(pp)) // output asdf 24 }