Maison >développement back-end >Golang >Comment lire et écrire des fichiers texte dans un tableau de chaînes avec Go ?
Lecture et écriture de fichiers texte dans un tableau de chaînes dans Go
La lecture et l'écriture de fichiers texte dans et hors d'un tableau de chaînes sont une pratique courante exigence en programmation. Dans Go, cela peut être réalisé à l'aide de l'API bufio.Scanner introduite dans Go1.1.
Considérez l'extrait de code suivant qui utilise bufio.Scanner pour lire un fichier texte dans un tableau de chaînes :
package main import ( "bufio" "fmt" "log" "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() } 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) } }
Cette fonction ouvre le fichier spécifié, crée un bufio.Scanner pour le fichier, parcourt chaque ligne du fichier et ajoute la ligne à un tableau de chaînes.
Vous pouvez également écrire un tableau de chaînes dans un fichier texte à l'aide de la fonction writeLines :
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 := []string{"line 1", "line 2", "line 3"} if err := writeLines(lines, "foo.out.txt"); err != nil { log.Fatalf("writeLines: %s", err) } }
Cette fonction crée un fichier, écrit les lignes dans le fichier à l'aide d'un bufio .Writer, et vide l'enregistreur pour garantir que toutes les données sont écrites dans le fichier.
Ces fonctions fournissent un moyen simple et efficace de lire et d'écrire des fichiers texte dans et hors d'une chaîne. tableau dans Go.
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!