Maison > développement back-end > Golang > Comment puis-je lire efficacement un fichier entier dans une chaîne avec Go ?

Comment puis-je lire efficacement un fichier entier dans une chaîne avec Go ?

Barbara Streisand
Libérer: 2025-01-02 12:53:40
original
632 Les gens l'ont consulté

How Can I Efficiently Read an Entire File into a String in Go?

Lecture de fichiers entiers dans des chaînes dans Go

Lors de la manipulation de nombreux petits fichiers, la lecture de chaque ligne individuellement peut s'avérer inefficace. Go fournit une fonction pratique pour faciliter la lecture d'un fichier entier dans une seule variable de chaîne.

Solution utilisant le package ioutil obsolète :

Le package ioutil obsolète contient une fonction appelée ReadFile qui permet la lecture d'un fichier dans une tranche d'octets :

func ReadFile(filename string) ([]byte, error)
Copier après la connexion

Notez que cette fonction renvoie une tranche d'octets, qui doit être convertie en chaîne si vous le souhaitez :

s := string(buf)
Copier après la connexion

Solution utilisant le package io (préféré pour le nouveau code) :

Le package io offre une alternative moderne et préférée à ioutil.ReadFile :

func ReadAll(r io.Reader) ([]byte, error)
Copier après la connexion

Cette fonction nécessite un io.Reader en entrée, auquel un fichier peut être facilement adapté en utilisant os.Open :

file, err := os.Open(filename)
if err != nil {
    // Handle error
}
data, err := io.ReadAll(file)
if err != nil {
    // Handle error
}
Copier après la connexion

La tranche d'octets résultante peut à nouveau être convertie en chaîne si nécessaire.

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