1. 首页
  2. 主题
  3. Go语言

bufio的ReadLine是不是必须检测io.EOF

tablecell · · 3213 次点击
``` 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
算啊 你预期会读到数据,结果没读到,不是error是什么......
#6
更多评论
不一定只遇到EOF错误吧, 只要是错误都要检测的. 只要不是nil 就跳出循环 其中如果是EOF那就是正常结束其他的可能要报错.
#1
如果按行读,不处理io.EOF 怎么写
#2

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中