- Auteur

- Nom
- Nelson Silva
- Social
Introduction
La manipulation de fichiers est l'un des piliers de la programmation. Que ce soit pour enregistrer des données, lire des configurations ou sauvegarder des logs, il est essentiel de savoir comment interagir avec les fichiers. Go, avec sa vaste bibliothèque standard, fournit d'innombrables outils pour répondre à ce besoin.
- Création et Ouverture de Fichiers
- Écriture dans le Fichier
- Gestion des Erreurs
- Permissions de Fichiers
- Ajout de Contenu aux Fichiers
- Utilisation du paquet bufio
Création et Ouverture de Fichiers
Avant de pouvoir écrire dans un fichier, nous devons en créer un ou en ouvrir un existant. La fonction os.Create est parfaite pour cet usage.
package main
import (
"fmt"
"os"
)
func main() {
fichier, err := os.Create("monFichier.txt")
if err != nil {
fmt.Println("Erreur lors de la création du fichier :", err)
return
}
defer fichier.Close()
}
L'utilisation de defer garantit qu'après l'exécution du programme, le fichier est fermé, évitant ainsi les fuites mémoire.
Écriture dans le Fichier
Avec le fichier disponible, il est possible d'utiliser la méthode WriteString pour y écrire.
texte := "Bonjour, monde !"
_, err = fichier.WriteString(texte)
if err != nil {
fmt.Println("Erreur lors de l'écriture dans le fichier :", err)
return
}
Gestion des Erreurs
Il est crucial de gérer les erreurs lorsqu'on travaille avec l'I/O de fichiers. Ignorer les erreurs peut entraîner des fichiers corrompus ou une perte de données.
if err != nil {
log.Fatalf("Échec de l'écriture dans le fichier : %s", err)
}
Permissions de Fichiers
Lors de la création d'un fichier, Go attribue des permissions par défaut. Cependant, il peut être nécessaire d'ajuster ces permissions.
fichier.Chmod(0644)
Ajout de Contenu aux Fichiers
Plutôt que d'écraser un fichier, il peut être utile d'ajouter des données à sa fin.
fichier, err = os.OpenFile("monFichier.txt", os.O_APPEND|os.O_WRONLY, 0644)
Utilisation du paquet bufio
Pour des opérations plus avancées, bufio est le bon choix. Il fournit une interface avec tampon, optimisant ainsi l'écriture.
import (
"bufio"
)
ecrivain := bufio.NewWriter(fichier)
_, err = ecrivain.WriteString("Utilisation de bufio pour écrire de façon plus efficace.")
ecrivain.Flush()
Conclusion
La capacité d'écrire dans des fichiers est essentielle pour de nombreuses tâches en Go. Grâce à ses bibliothèques riches et complètes, Go simplifie et optimise ce processus, permettant aux développeurs de se concentrer sur la logique applicative plutôt que sur les détails d'I/O.