go语言逐行读取文件
时间: 2024-07-24 13:01:42 浏览: 83
go语言读取csv文件并输出的方法
在Go语言中,你可以使用`bufio`包(bufio是缓冲输入/输出的包)来逐行读取文件。这里是一个简单的例子:
```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
file, err := os.Open("example.txt") // 打开文件
if err != nil {
fmt.Println("Error opening file:", err)
return
}
defer file.Close() // 确保文件关闭
reader := bufio.NewReader(file) // 创建一个带缓冲的读取器
for {
line, isEnd, err := reader.ReadLine() // 逐行读取
if err == io.EOF { // 如果达到文件结束
break
} else if err != nil {
fmt.Println("Error reading line:", err)
return
}
fmt.Printf("Read line: %s\n", line) // 打印每一行内容
}
fmt.Println("Finished reading file.")
}
```
在这个示例中,`bufio.ReadLine()`会返回一行文本和一个布尔值,表示是否到达了文件的末尾。如果发生错误,比如文件不存在,它会返回一个非nil的error。
阅读全文