Lire et écrire des fichiers texte avec des tableaux de chaînes dans Go
La lecture et l'écriture de fichiers texte dans et hors de tableaux de chaînes sont une opération fréquente et pratique tâche en programmation. Cet article explore si une telle fonctionnalité existe dans Go et fournit un exemple de solution utilisant l'API bufio.Scanner introduite dans Go1.1.
bufio.Scanner pour une gestion efficace des fichiers
La bibliothèque standard Go fournit l'API bufio.Scanner pour une gestion efficace des fichiers et une analyse des lignes de texte. Cette API permet la lecture et l'écriture simples de lignes de texte vers et depuis des fichiers.
Exemple d'utilisation
Considérez l'exemple suivant démontrant l'utilisation de bufio.Scanner pour la lecture et écrire des fichiers texte :
package main import ( "bufio" "fmt" "log" "os" ) // readLines reads a file into a slice of lines. 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() } // writeLines writes a slice of lines to a file. 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() } func main() { lines, err := readLines("foo.in.txt") if err != nil { log.Fatalf("readLines: %s", err) } for i, line := range lines { fmt.Println(i, line) } if err := writeLines(lines, "foo.out.txt"); err != nil { log.Fatalf("writeLines: %s", err) } }
Cet exemple montre l'utilisation de bufio.Scanner pour lire des lignes à partir de "foo.in.txt" et en les écrivant dans "foo.out.txt". La fonction readLines lit l'intégralité du fichier en mémoire, tandis que la fonction writeLines écrit les lignes dans le fichier de sortie.
En utilisant l'API bufio.Scanner, vous pouvez facilement lire et écrire des fichiers texte dans Go, ce qui en fait un outil pratique pour gérer les données textuelles.
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!