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

Comment puis-je lire et écrire efficacement des fichiers texte dans des tableaux de chaînes avec Go ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-14 02:31:09576parcourir

How Can I Efficiently Read and Write Text Files to String Arrays in Go?

Lecture et écriture de fichiers texte avec des tableaux de chaînes dans Go

Dans Go, la lecture et l'écriture de fichiers texte dans et hors de tableaux de chaînes sont une exigence courante. Auparavant, cette tâche pouvait être accomplie à l'aide de fonctions personnalisées ou de bibliothèques tierces. Cependant, avec l'introduction de Go1.1, l'API bufio.Scanner a été introduite, fournissant une solution rationalisée à cet effet.

Lecture de fichiers texte

Le bufio.Scanner peut être utilisé efficacement pour lire les lignes d'un fichier et les renvoyer sous forme de tranche de chaînes. L'exemple suivant montre comment lire un fichier dans un tableau de chaînes :

import "bufio"

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()
}

Écrire des fichiers texte

De même, bufio.Writer peut être utilisé pour écrire une tranche de chaînes dans un texte file :

import "bufio"

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()
}

En tirant parti du package bufio, les développeurs peuvent lire et écrire sans effort des fichiers texte de manière claire et efficace en 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