Maison >développement back-end >Golang >Comment lire et écrire des fichiers texte dans un tableau de chaînes avec Go ?

Comment lire et écrire des fichiers texte dans un tableau de chaînes avec Go ?

DDD
DDDoriginal
2024-12-13 12:23:20388parcourir

How to Read and Write Text Files to a String Array in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn