Heim  >  Artikel  >  Backend-Entwicklung  >  Wie lese ich den Inhalt einer Textdatei in eine Variable in Golang ein?

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

Patricia Arquette
Patricia ArquetteOriginal
2024-11-14 14:07:021000Durchsuche

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)
}

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)
  • 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
    }
}
  • 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
}

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!

Stellungnahme:
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