```
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
filename := "go.sum"
fi, err := os.Open(filename)
if err != nil {
panic(err)
}
defer fi.Close()
buf := bufio.NewReader(fi)
for {
line, _, err := buf.ReadLine()
//if err == io.EOF { break }
if err != nil {
panic(err)
}
fmt.Println(string(line))
}
}
```
panic: EOF
goroutine 1 [running]:
main.main()
ReadLine-EOF.go:28 +0x325
exit status 2
更多评论
上面说了吧, 遇到eof也是err, 其他的也是, 只不过eof算是个正常的结束信号.
你首先需要处理err, 然后里面判断是不是正常的结束了(虽然看上去是EOF错误)
#3