Un guide pour travailler avec des fichiers texte dans Go

Un guide pour travailler avec des fichiers texte dans Go

En tant que langage de programmation, Go dispose d'un large éventail de fonctionnalités intégrées, notamment la possibilité de créer, de lire et d'écrire des fichiers tels que des fichiers texte (.txt).





comment déplacer des dossiers d'un lecteur google à un autre

Les fichiers sont des éléments importants de notre vie quotidienne dans le monde moderne. Les fichiers texte sont utiles pour stocker des données structurées lisibles par l'homme sans utiliser de logiciels ou de bases de données externes.





UTILISEZ LA VIDÉO DU JOUR

Si vous vous demandez comment vous pourriez commencer à manipuler des fichiers texte dans Go, cet article est fait pour vous.





Le forfait bufio en Go

La bufio package, qui fait partie de la bibliothèque standard de Go, est utilisé pour les opérations d'entrée et de sortie tamponnées, d'où son nom. La bufio paquet s'appuie sur le io.Reader et io.Writer interfaces, qui sont largement utilisées dans la mise en œuvre de la majorité des packages standard de Go.

La bufio package va encore plus loin en implémentant la mise en mémoire tampon, ce qui le rend utile pour les opérations d'E/S impliquant des données textuelles.



Pour utiliser le bufio package dans votre programme, vous devez l'importer avec d'autres packages.

import ( 
"fmt"
"bufio"
)

Vous avez probablement entendu quand vous j'ai commencé avec Go qu'il est livré avec tout ce dont vous pourriez avoir besoin en tant que programmeur. Pour une communication directe avec votre système d'exploitation, il existe un package appelé tu qui fournit des fonctions indépendantes de la plate-forme.





mon iphone ne se connecte pas a mon ordinateur

La tu et bufio les packages rendent la manipulation des fichiers texte incroyablement simple.

Bien que la grande majorité des tu Les fonctions du package sont de type Unix, elles utilisent toutes le style Go de gestion des erreurs, ce qui simplifie la lecture des messages d'erreur et le débogage du code.





Alors, comment manipulez-vous les fichiers contenant du texte dans Go ?

Comment lire des données à partir d'un fichier texte

Pour lire des données à partir de fichiers texte, vous devez appeler le tu paquets Ouvert() qui accepte le nom du fichier à lire en paramètre. Une autre méthode pour obtenir le fichier consiste à utiliser le Fichier ouvert() fonction.

comment savoir si le téléphone portable est sur écoute

La différence majeure entre Ouvert() et Fichier ouvert() est dans leur mise en œuvre. Ouvert() ouvre un fichier en mode lecture seule (avec le O_RDONLY drapeau), tandis que Fichier ouvert() donne plus de souplesse en acceptant trois paramètres à savoir :

  • Nom de fichier
  • Mode d'ouverture de fichier : les modes d'ouverture de fichier valides sont indiqués dans le tableau ci-dessous.
    Drapeau Sens
    O_RDONLY Ouvre le fichier en mode lecture seule
    O_WRONLY Ouvre le fichier en mode écriture seule
    O_RDWR Ouvre le fichier en mode lecture-écriture
    O_APPEND Ajoute des données au fichier lors de l'écriture
    O_CREATE Crée un nouveau fichier s'il n'en existe pas
    O_EXCL Utilisé avec O_CREATE, pour indiquer que le fichier ne doit être créé que s'il n'existe pas
    O_SYNC Ouvre le fichier pour les E/S synchrones
    O_TRUNC Tronquer le fichier à l'ouverture, si possible
  • Autorisations de fichier : identiques à celles bits d'autorisation de fichier sous Linux utilisé pour spécifier les règles d'accès aux fichiers, par exemple, 0777 pour accorder des autorisations de lecture, d'écriture et d'exécution à tous les types d'utilisateurs.

Le code ci-dessous montre comment lire les données d'un fichier texte dans Go en utilisant os.Open() , et Analyse() qui, dans ce cas, fonctionne dans un Aller pour la boucle .

package main 
import (
"bufio"
"fmt"
"log"
"os"
)
/**
CONTENT OF THE "testfile.txt" file.
lorem ipsum dolor sit amet
LOREM IPSUM DOLOR SIT AMET
Lorem ipsum dolor sit amet
Lorem Ipsum Dolor Sit Amet
lOREM iPSUM dOLOR sIT aMET
LoReM IpSuM DoLoR SiT AmEt
*/
func main() {
file, err := os.Open("testfile.txt")
// another method using os.OpenFile()
// file, err = os.OpenFile("testfile.txt", os.O_RDONLY, 0644)
if err != nil {
log.Fatal(err)
}
defer file.()
fmt.Println("File opened successfully. Now reading file contents line by line:")
// create scanner from the file to read text from
scanner := bufio.NewScanner(file)
// scan or read the bytes of text line by line
for scanner.Scan() {
fmt.Println(scanner.Text())
}
if err := scanner.Err(); err != nil {
log.Fatal(err)
}
}

Lorsque vous exécutez le code ci-dessus avec allez exécuter filename.go , il produit la sortie ci-dessous :

  Sortie du programme pour lire le texte du fichier