Avatar ·

Wie man eine Datei zeilenweise in Go liest: eine Schritt-für-Schritt-Anleitung

Hallo zusammen! Ich habe gerade angefangen, Go zu lernen, und bin auf eine Aufgabe gestoßen, die einfach erscheint, mir aber aus irgendeinem Grund Schwierigkeiten bereitet. Ich muss eine Textdatei zeilenweise lesen. Die Datei kann ziemlich groß sein (mehrere hundert Megabyte), daher möchte ich vermeiden, den gesamten Inhalt in den Speicher zu laden. Hier ist, was ich versucht habe: ```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) } } ``` Aber dieser Code lädt die gesamte Datei in den Speicher, was für große Dateien ineffizient ist. Außerdem habe ich gehört, dass es in Go einen speziellen Scanner für das zeilenweise Lesen gibt, aber ich kann nicht herausfinden, wie man ihn richtig verwendet. Könnt ihr mir bitte sagen, wie man eine Datei in Go zeilenweise liest, sodass es speicher- und zeiteffizient ist? Ich muss jede Zeile einzeln verarbeiten, möglicherweise