多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
bufio包实现了带缓冲区的读写,是对文件读写的封装 | 模式 | 含义 | | --- | --- | | os.O\_WRONLY | 只写 | | os.O\_CREATE | 创建文件 | | os.O\_RDONLY | 只读 | | os.O\_RDWR | 读写 | | os.O\_TRUNC | 清空 | | os.O\_APPEND | 追加 | #### bufio.NewReader 有时候我们想完整获取输入的内容,而输入的内容可能包含空格,这种情况下可以使用bufio包来实现。示例代码如下: ~~~ func bufioDemo() { reader := bufio.NewReader(os.Stdin) // 从标准输入生成读对象 fmt.Print("请输入内容:") text, _ := reader.ReadString('\n') // 读到换行 text = strings.TrimSpace(text) fmt.Printf("%#v\n", text) } ~~~ ~~~ func wr() { // 参数2:打开模式,所有模式d都在上面 // 参数3是权限控制 // w写 r读 x执行 w 2 r 4 x 1 file, err := os.OpenFile("./xxx.txt", os.O_CREATE|os.O_WRONLY, 0666) if err != nil { return } defer file.Close() // 获取writer对象 writer := bufio.NewWriter(file) for i := 0; i < 10; i++ { writer.WriteString("hello\n") } // 刷新缓冲区,强制写出 writer.Flush() } func re() { file, err := os.Open("./xxx.txt") if err != nil { return } defer file.Close() reader := bufio.NewReader(file) for { line, _, err := reader.ReadLine() if err == io.EOF { break } if err != nil { return } fmt.Println(string(line)) } } ~~~