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

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

Mary-Kate Olsen
Libérer: 2024-12-14 03:41:11
original
313 Les gens l'ont consulté

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

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()
}
Copier après la connexion

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()
}
Copier après la connexion

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)
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal