f, err := os.Open("test.txt")
if err != nil {
panic(err)
}
defer f.Close()
rd := bufio.NewReader(f)
for {
line, err := rd.ReadString('\n') //以'\n'为结束符读入一行
if err != nil || io.EOF == err {
break
}
fmt.Println(line)
}
// File_test2 project main.go
package main
import (
"bufio"
"fmt"
"io"
"os"
"strings"
)
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
}
func Print(line string) {
fmt.Println(line)
}
func main() {
ReadLine("test.txt", Print)
}