bufio包实现了有缓冲的I/O。它包装一个io.Reader或io.Writer接口对象,os.stdin就是实现了这个接口

go
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
package main
 
import (
    "bufio"
    "fmt"
    "os"
)
 
var buff *bufio.Reader
 
func main() {
    buff = bufio.NewReader(os.Stdin)
    str, err := buff.ReadString('\n')
    
    if err == nil {
        fmt.Printf("input was :%s", str)
    }
}

ReadString(byte) 遇到byte后返回,包含已读到的和byte,如果在读到之前遇到错误,返回读取的信息及该错误

在写文件时。可以写入缓冲区来可以提升磁盘性能