Wie lese ich den Inhalt einer Textdatei in eine Variable in Golang ein?

Patricia Arquette
Freigeben: 2024-11-14 14:07:02
Original
999 Leute haben es durchsucht

How to read the contents of a text file into a variable in Golang?

Eine Textdatei in Golang lesen

Wie kann ich den Inhalt von „file.txt“ in eine Variable in Golang einlesen?

package main

import (
    "fmt"
    "os"
    "log"
)

func main() {
    file, err := os.Open("file.txt")
    if err != nil {
        log.Fatal(err)
    }

    fmt.Print(file)
}
Nach dem Login kopieren

Antwort:

Der bereitgestellte Code erfolgreich liest die Datei, gibt jedoch den Zeigerwert des Dateideskriptors und nicht den Dateiinhalt aus. Um den Dateiinhalt zu erhalten, müssen Sie aus dem Dateideskriptor lesen.

Optionen zum Lesen des Dateiinhalts:

  • Alles lesen: Liest den gesamten Dateiinhalt in den Speicher als Bytes.
b, err := io.ReadAll(file)
fmt.Print(b)
Nach dem Login kopieren
  • In Blöcken lesen:Liest den Dateiinhalt in kleineren Blöcken, um Speicherprobleme bei großen Dateien zu vermeiden.
buf := make([]byte, 32*1024) // Define your buffer size.

for {
    n, err := file.Read(buf)

    if n > 0 {
        fmt.Print(buf[:n]) // Your read buffer.
    }

    if err == io.EOF {
        break
    }
    if err != nil {
        log.Printf("read %d bytes: %v", n, err)
        break
    }
}
Nach dem Login kopieren
  • bufio Scanner: Verschiebt das Token um neue Zeilen um Standard.
scanner := bufio.NewScanner(file)

for scanner.Scan() {
    fmt.Println(scanner.Text()) // Token in unicode-char
    fmt.Println(scanner.Bytes()) // Token in bytes
}
Nach dem Login kopieren

Zusätzliche Ressourcen:

  • [go-lang-Datei-Cheatsheet](https://go-lang-file- utils.readthedocs.io/)

Das obige ist der detaillierte Inhalt vonWie lese ich den Inhalt einer Textdatei in eine Variable in Golang ein?. 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