简单的翻看了一下Go的io/ioutil
居然没又逐行读取的接口,在网上找到一份代码,发现其还比较使用,打算撸个例子试试看,网上的逐行读取的接口如下:
func ReadLine(fileName string, handler func(string)) error {
f, err := os.Open(fileName)
if err != nil {
return err
}
buf := bufio.NewReader(f)
for {
line, err := buf.ReadString('\n')
line = strings.TrimSpace(line)
handler(line)
if err != nil {
if err == io.EOF {
return nil
}
return err
}
}
return nil
}
自己做了一个简单的读取文件,写文件的例子:
package main
import (
"bufio"
"fmt"
"io"
"os"
"strings"
)
func ReadLine(w *bufio.Writer,fileName string, handler func(*bufio.Writer,string)) error {
f, err := os.Open(fileName)
if err != nil {
return err
}
buf := bufio.NewReader(f)
for {
line, err := buf.ReadString('\n')
line = strings.TrimSpace(line)
if len(line) !=