Heim > Backend-Entwicklung > Golang > Wie lese ich eine Textdatei in Golang?

Wie lese ich eine Textdatei in Golang?

Susan Sarandon
Freigeben: 2024-11-18 22:37:02
Original
600 Leute haben es durchsucht

How to Read a Text File in Golang?

So lesen Sie eine Textdatei

In Golang umfasst das Lesen einer Textdatei das Öffnen mit os.Open() und das anschließende Verwenden des zurückgegebenen *os.File-Objekts um Lesevorgänge durchzuführen. Durch einfaches Öffnen der Datei wird ihr Inhalt jedoch nicht abgerufen.

Dateiinhalt lesen

Um Dateiinhalte zu erhalten, können Sie io.ReadAll verwenden oder manuell in Blöcken einlesen.

Verwendung von io.ReadAll:

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

Diese Methode liest die gesamte Datei in den Speicher, was geeignet ist für kleinere Dateien.

Manuelles Lesen in Blöcken:

buf := make([]byte, 32*1024)
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

Bei diesem Ansatz definieren Sie einen Puffer und lesen Dateiinhalte in Blöcken, was effizienter sein kann große Dateien.

Verwendung des bufio-Pakets

Das bufio-Paket bietet eine praktische Möglichkeit, Textdateien zu lesen. Es bietet den bufio.Scanner-Typ, der die Tokenisierung von Dateiinhalten vereinfacht:

scanner := bufio.NewScanner(file)
for scanner.Scan() {             
    fmt.Println(scanner.Text())
}
Nach dem Login kopieren

Die Scan()-Methode rückt das Scanner-Token basierend auf einem Trennzeichen (standardmäßig Zeilenumbrüche) vor.

Das obige ist der detaillierte Inhalt vonWie lese ich eine Textdatei 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