Wenn Sie mit Dateien in Go mithilfe des *os.File-Zeigers arbeiten, ist dies der Fall Es ist wichtig zu verstehen, wie Dateizeiger funktionieren. Der Dateizeiger verfolgt die aktuelle Position in der Datei. Beim Schreiben in eine Datei rückt der Dateizeiger automatisch zum Ende der geschriebenen Daten vor.
In Ihrem Fall möchten Sie Daten aus demselben *os.File-Zeiger schreiben und dann lesen. Nach der Schreibschleife befindet sich der Dateizeiger jedoch am Ende der Datei, sodass Sie nichts lesen, wenn Sie versuchen, vom Anfang der Datei an zu lesen.
Um dieses Problem zu lösen, müssen Sie „ spulen Sie den Dateizeiger an den Anfang der Datei zurück, bevor Sie versuchen, daraus zu lesen. Dies kann mit der Seek-Funktion auf dem *os.File-Zeiger erreicht werden.
So geht's:
_, err := f.Seek(0, 0) if err != nil { fmt.Println("Error", err) }
Der obige Code sucht zum Anfang der Datei und übergibt sie die Argumente 0 für den Offset und 0 für die Startposition (Anfang der Datei). Jetzt können Sie aus der Datei lesen, ohne dass der io.EOF-Fehler auftritt.
Das obige ist der detaillierte Inhalt vonWie spule ich einen Go *os.File-Zeiger nach dem Schreiben zurück, um Daten von Anfang an zu lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!