Avatar ·

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

Hallo zusammen! Ich bin ein Anfänger in der Go-Entwicklung und habe ein Problem mit dem zeilenweisen Lesen einer Textdatei. Ich muss eine große Log-Datei (ca. 500 MB) verarbeiten, bei der jede Zeile ein separater Eintrag ist. Das Problem ist, dass ich nicht die gesamte Datei auf einmal in den Speicher laden möchte, da sie sehr groß ist. Ich habe versucht, `ioutil.ReadFile()` zu verwenden, aber das lädt den gesamten Inhalt in den Speicher, und das Programm wird langsam. Außerdem könnte dies bei einer noch größeren Datei zu Speichermangel führen. Hier ist, was ich versucht habe: ```go package main import ( "fmt" "io/ioutil" "strings" ) func main() { data, err := ioutil.ReadFile("large_log.txt") if err != nil { fmt.Println("Fehler:", err) return } lines := strings.Split(string(data), "\n") for i, line := range lines { fmt.Printf("Zeile %d: %s\n", i+1, line) } } ``` Dieser Code funktioniert, aber er lädt die gesamte Datei in den Speicher, was ineffizient ist. Außerdem, wenn die Datei