Avatar ·

如何在Go中逐行读取文件:逐步指南

大家好!我刚开始学习Go,遇到了一个看似简单但不知为何让我感到困难的任务。我需要逐行读取一个文本文件。文件可能非常大(几百兆字节),所以我想避免将整个内容加载到内存中。 以下是我尝试过的代码: ```go package main import ( "fmt" "os" ) func main() { data, err := os.ReadFile("file.txt") if err != nil { panic(err) } lines := strings.Split(string(data), "\n") for _, line := range lines { fmt.Println(line) } } ``` 但这段代码将整个文件加载到内存中,对于大文件来说效率不高。而且,我听说Go中有一个专门的scanner用于逐行读取,但我不知道如何正确使用它。 请告诉我如何在Go中高效地逐行读取文件,既节省内存又节省时间?我需要单独处理每一行,可能还需要