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

Comment lire des fichiers texte dans Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-15 12:36:02804parcourir

How to Read Text Files in Go?

Lecture de fichiers texte dans Go

Dans Go, la lecture de fichiers texte implique l'utilisation des packages os et io. Voici un aperçu de son fonctionnement :

Ouverture du fichier

La première étape consiste à ouvrir le fichier texte à l'aide de la fonction os.Open(). Cette fonction renvoie un pointeur *os.File, qui représente le descripteur de fichier. Voici un exemple :

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

Lecture du contenu du fichier

Une fois le fichier ouvert, vous pouvez accéder à son contenu. Il existe plusieurs façons de procéder :

1. Utilisation de io.ReadAll() :

Cette fonction lit tout le contenu du fichier dans une tranche d'octets. C'est efficace si vous devez lire l'intégralité du fichier d'un coup.

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

2. En utilisant *os.File.Read() :

Vous pouvez également lire le fichier en morceaux. Ceci est utile si vous devez traiter les données progressivement.

buf := make([]byte, 32*1024) // Custom buffer size

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

    if n > 0 {
        fmt.Print(buf[:n])
    }

    if err == io.EOF {
        break
    }

    if err != nil {
        log.Fatal(err)
    }
}

3. Utilisation de bufio.Scanner :

Le package bufio fournit un moyen pratique d'analyser le fichier et de le lire ligne par ligne.

scanner := bufio.NewScanner(file)

for scanner.Scan() {
    fmt.Println(scanner.Text())
}

Fermer le fichier

Lorsque vous avez fini de lire le fichier, n'oubliez pas de le fermer pour libérer les ressources. Le type *os.File implémente l'interface io.Closer, vous pouvez donc utiliser file.Close().

Autres ressources

  • Go File Cheatsheet : https://www.digitalocean.com/community/tutorials/golang-reading-and-writing-files#how-to-read-a-file

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