Comment lire un fichier ligne par ligne en Go : guide étape par étape
Bonjour à tous ! Je viens de commencer à apprendre Go et j'ai rencontré une tâche qui semble simple mais qui me pose problème pour une raison quelconque. Je dois lire un fichier texte ligne par ligne. Le fichier peut être assez volumineux (plusieurs centaines de mégaoctets), donc je veux éviter de charger tout le contenu en mémoire.
Voici ce que j'ai essayé :
```go
package main
import (
"fmt"
"os"
)
func main() {
data, err := os.ReadFile("file.txt")
if err != nil {
panic(err)
}
lines := strings.Split(string(data), "\n")
for _, line := range lines {
fmt.Println(line)
}
}
```
Mais ce code charge tout le fichier en mémoire, ce qui n'est pas efficace pour les gros fichiers. De plus, j'ai entendu dire qu'il existe un scanner spécial en Go pour la lecture ligne par ligne, mais je n'arrive pas à comprendre comment l'utiliser correctement.
S'il vous plaît, dites-moi comment lire correctement un fichier ligne par ligne en Go de manière efficace en termes de mémoire et de temps. Je dois traiter chaque ligne séparément, éventuellement.
No answers yet.
Connectez-vous pour laisser une réponse