Maison >développement back-end >Golang >Comment lire des fichiers texte dans Golang ?

Comment lire des fichiers texte dans Golang ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-27 07:10:13748parcourir

How do I read text files in Golang?

Lecture de fichiers texte dans Golang

Lorsque vous travaillez avec des fichiers texte, lire leur contenu dans des variables devient nécessaire. Golang propose plusieurs façons d'y parvenir, comme démontré ci-dessous :

Sortie directe

Pour imprimer l'intégralité du contenu du fichier texte, utilisez fmt.Print(file). Cependant, cela affichera la valeur du pointeur du descripteur de fichier, pas le contenu du fichier.

ioutil.ReadAll

Cette fonction lit tout le contenu du fichier en mémoire sous forme d'octets :

b, err := io.ReadAll(file)
fmt.Print(b)

io.Reader.Read

La lecture en petits morceaux peut être plus efficace en termes de mémoire pour les grands files :

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

bufio.Scanner

L'utilisation d'un scanner tokenise le fichier en fonction de séparateurs, la valeur par défaut étant les nouvelles lignes :

scanner := bufio.NewScanner(file)

for scanner.Scan() {
    fmt.Println(scanner.Text()) // Token as unicode characters
    fmt.Println(scanner.Bytes()) // Token as bytes
}

Pour plus d'informations et des exemples , reportez-vous à l'aide-mémoire du fichier Golang pour connaître les techniques complètes de gestion des fichiers.

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:
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
Article précédent:Maîtriser les ENUM en GoArticle suivant:Maîtriser les ENUM en Go