以下是在Go中读取文件中每一行数据的示例代码:
package main
import (
"fmt"
"bufio"
"os"
)
func main() {
// 打开文件
file, err := os.Open("file.txt")
if err != nil {
fmt.Println("文件打开失败:", err)
return
}
defer file.Close() // 关闭文件
// 创建scanner扫描器
scanner := bufio.NewScanner(file)
// 循环读取每一行数据
for scanner.Scan() {
line := scanner.Text()
fmt.Println(line)
}
// 检查scanner是否出现错误
if err := scanner.Err(); err != nil {
fmt.Println("扫描文件出错:", err)
return
}
}
首先打开文件,然后使用bufio.NewScanner创建scanner扫描器。接下来,使用for循环读取每一行,scanner.Scan()表示如果有下一行就一直读取。在每一行读取后,使用scanner.Text()获取字符串内容并打印出来。最后,检查scanner是否出现错误。如果没有错误,则读取文件的操作完成。