Maison >développement back-end >Golang >Comment puis-je lire efficacement un fichier entier dans une chaîne avec 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)
Notez que cette fonction renvoie une tranche d'octets, qui doit être convertie en chaîne si vous le souhaitez :
s := string(buf)
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)
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 }
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!