Lecture et écriture de fichiers texte sous forme de tableaux de chaînes dans Go
La capacité à gérer des fichiers texte est une exigence courante en programmation, y compris la lecture et écrire dans des tableaux de chaînes. Dans Go, une solution existe pour répondre à ce besoin.
Lecture de fichiers texte
Depuis Go 1.1, l'API bufio.Scanner fournit un moyen efficace de lire des lignes à partir de un fichier dans une tranche de chaîne. Voici un exemple :
import ( "bufio" "fmt" "os" ) func readLines(path string) ([]string, error) { file, err := os.Open(path) if err != nil { return nil, err } defer file.Close() var lines []string scanner := bufio.NewScanner(file) for scanner.Scan() { lines = append(lines, scanner.Text()) } return lines, scanner.Err() }
Cette fonction lit un fichier entier en mémoire et renvoie une tranche de ses lignes.
Écriture de fichiers texte
Pour écrire une tranche de chaîne dans un fichier texte, vous pouvez utiliser le type bufio.Writer :
import ( "bufio" "fmt" "os" ) func writeLines(lines []string, path string) error { file, err := os.Create(path) if err != nil { return err } defer file.Close() w := bufio.NewWriter(file) for _, line := range lines { fmt.Fprintln(w, line) } return w.Flush() }
Ceci La fonction crée un fichier, y écrit les lignes et vide le tampon pour garantir que les données sont écrites sur le disque.
Exemple d'utilisation
Voici un exemple de la façon de utilisez ces fonctions :
lines, err := readLines("foo.in.txt") if err != nil { log.Fatalf("readLines: %s", err) } // Process the lines... if err := writeLines(lines, "foo.out.txt"); err != nil { log.Fatalf("writeLines: %s", err) }
Ce code lit les lignes du fichier "foo.in.txt", les traite et les écrit dans le Fichier "foo.out.txt".
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!