Heim > Backend-Entwicklung > Golang > Wie lese ich Textdateien in Golang?

Wie lese ich Textdateien in Golang?

Barbara Streisand
Freigeben: 2024-11-27 07:10:13
Original
729 Leute haben es durchsucht

How do I read text files in Golang?

Textdateien in Golang lesen

Bei der Arbeit mit Textdateien ist es notwendig, deren Inhalte in Variablen einzulesen. Golang bietet mehrere Möglichkeiten, dies zu erreichen, wie unten gezeigt:

Direkte Ausgabe

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.

ioutil.ReadAll

Diese Funktion liest alle Dateiinhalte als Bytes in den Speicher:

b, err := io.ReadAll(file)
fmt.Print(b)
Nach dem Login kopieren

io.Reader.Read

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
    }
}
Nach dem Login kopieren

bufio.Scanner

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
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage