Maison > développement back-end > Golang > Comment lire efficacement une seule ligne d'un fichier texte dans une chaîne en Go ?

Comment lire efficacement une seule ligne d'un fichier texte dans une chaîne en Go ?

DDD
Libérer: 2024-12-20 08:10:14
original
654 Les gens l'ont consulté

How to Efficiently Read a Single Line from a Text File into a String in Go?

Lecture d'une chaîne à partir d'un fichier texte dans Go

Lorsque vous travaillez avec des fichiers texte dans Go, il peut être souhaitable de lire une ligne de texte dans une chaîne. Bien que la bibliothèque standard fournisse des fonctions de bas niveau qui renvoient des tableaux d'octets, un moyen plus pratique consiste à utiliser des fonctions spécialisées qui gèrent directement cette tâche.

Solution

Ce qui suit Le code montre comment lire une seule ligne d'un fichier texte dans une chaîne :

import (
    "bufio"
    "fmt"
    "os"
)

// ReadLine reads a single line from a file.
func ReadLine(r *bufio.Reader) (string, error) {
    var (
        isPrefix bool = true
        err       error
        line, ln  []byte
    )

    for isPrefix && err == nil {
        line, isPrefix, err = r.ReadLine()
        ln = append(ln, line...)
    }

    return string(ln), err
}

func main() {
    fi := `<path-to-your-file>`
    f, err := os.Open(fi)
    if err != nil {
        fmt.Println("error opening file= ", err)
        os.Exit(1)
    }
    defer f.Close()

    r := bufio.NewReader(f)
    s, e := ReadLine(r)
    for e == nil {
        fmt.Println(s)
        s, e = ReadLine(r)
    }
}
Copier après la connexion

Ce code ouvre le fichier spécifié, initialise un lecteur mis en mémoire tampon et appelle la fonction ReadLine pour lire chaque ligne du fichier. La chaîne résultante est imprimée sur la sortie standard.

Utilisation

Appelez la fonction ReadLine sur un lecteur de tampon pour obtenir le contenu d'une seule ligne sous forme de chaîne. La fonction ReadLine gère la lecture de plusieurs lignes si les caractères de nouvelle ligne ne sont pas présents dans l'entrée.

Cette approche élimine le besoin de gérer des tableaux d'octets et de les convertir manuellement en chaînes, offrant un moyen simple et efficace de lire des lignes orientées ligne. fichiers texte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal