Lecture de fichiers texte dans Go
Dans Go, la lecture de fichiers texte implique l'utilisation des packages os et io. Voici un aperçu de son fonctionnement :
Ouverture du fichier
La première étape consiste à ouvrir le fichier texte à l'aide de la fonction os.Open(). Cette fonction renvoie un pointeur *os.File, qui représente le descripteur de fichier. Voici un exemple :
file, err := os.Open("file.txt") if err != nil { log.Fatal(err) }
Lecture du contenu du fichier
Une fois le fichier ouvert, vous pouvez accéder à son contenu. Il existe plusieurs façons de procéder :
1. Utilisation de io.ReadAll() :
Cette fonction lit tout le contenu du fichier dans une tranche d'octets. C'est efficace si vous devez lire l'intégralité du fichier d'un coup.
b, err := io.ReadAll(file) fmt.Print(b)
2. En utilisant *os.File.Read() :
Vous pouvez également lire le fichier en morceaux. Ceci est utile si vous devez traiter les données progressivement.
buf := make([]byte, 32*1024) // Custom buffer size for { n, err := file.Read(buf) if n > 0 { fmt.Print(buf[:n]) } if err == io.EOF { break } if err != nil { log.Fatal(err) } }
3. Utilisation de bufio.Scanner :
Le package bufio fournit un moyen pratique d'analyser le fichier et de le lire ligne par ligne.
scanner := bufio.NewScanner(file) for scanner.Scan() { fmt.Println(scanner.Text()) }
Fermer le fichier
Lorsque vous avez fini de lire le fichier, n'oubliez pas de le fermer pour libérer les ressources. Le type *os.File implémente l'interface io.Closer, vous pouvez donc utiliser file.Close().
Autres ressources
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!