eof 错误在 go 语言中常见,发生在文件末尾读取时。处理方法包括:1. 明确检查 io.eof;2. 使用 io.eof 类型断言;3. 使用包装错误。处理 eof 错误可以防止程序意外崩溃,使其更健壮。
Go 语言 EOF 错误指南:避免常见陷阱
EOF(End-Of-File)错误是 Go 语言中最常见的错误之一,它会发生在程序尝试从已到达文件末尾的 io.Reader 中读取时。处理 EOF 错误非常重要,因为它可以防止程序意外崩溃。
识别 EOF 错误
EOF 错误通常通过 io.EOF 常量来表示。当程序尝试从文件末尾读取数据时,Read() 方法会返回 (n, io.EOF),其中 n 是读取的字节数。
package main
import (
"fmt"
"os"
)
func main() {
file, err := os.Open("text.txt")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
buf := make([]byte, 1024)
n, err := file.Read(buf)
if err == io.EOF {
fmt.Println("EOF reached")
} else if err != nil {
fmt.Println(err)
return
}
fmt.Println("Read", n, "bytes")
}



