Heim >Backend-Entwicklung >Golang >Wie lese ich Textdateien in Golang?
Bei der Arbeit mit Textdateien ist es notwendig, deren Inhalte in Variablen einzulesen. Golang bietet mehrere Möglichkeiten, dies zu erreichen, wie unten gezeigt:
Um den gesamten Inhalt der Textdatei zu drucken, verwenden Sie fmt.Print(file). Dadurch wird jedoch der Zeigerwert des Dateideskriptors ausgegeben, nicht der Inhalt der Datei.
Diese Funktion liest alle Dateiinhalte als Bytes in den Speicher:
b, err := io.ReadAll(file) fmt.Print(b)
Das Lesen in kleineren Blöcken kann bei großen Blöcken speichereffizienter sein Dateien:
buf := make([]byte, 32*1024) // Define buffer size for { n, err := file.Read(buf) if n > 0 { fmt.Print(buf[:n]) } if err == io.EOF { break } if err != nil { log.Printf("read %d bytes: %v", n, err) break } }
Die Verwendung eines Scanners tokenisiert die Datei anhand von Trennzeichen, wobei der Standardwert Zeilenumbrüche sind:
scanner := bufio.NewScanner(file) for scanner.Scan() { fmt.Println(scanner.Text()) // Token as unicode characters fmt.Println(scanner.Bytes()) // Token as bytes }
Weitere Informationen und Beispiele Umfassende Techniken zur Dateiverwaltung finden Sie im Golang-Datei-Cheatsheet.
Das obige ist der detaillierte Inhalt vonWie lese ich Textdateien in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!