Lorsque vous travaillez avec des fichiers dans Go à l'aide du pointeur *os.File, c'est Il est important de comprendre comment fonctionnent les pointeurs de fichiers. Le pointeur de fichier garde une trace de la position actuelle dans le fichier. Lors de l'écriture dans un fichier, le pointeur de fichier avance automatiquement jusqu'à la fin des données écrites.
Dans votre cas, vous souhaitez écrire puis lire des données à partir du même pointeur *os.File. Cependant, après la boucle d'écriture, le pointeur de fichier est positionné à la fin du fichier, ce qui vous oblige à ne rien lire lorsque vous essayez de lire depuis le début du fichier.
Pour résoudre ce problème, vous devez " rembobiner" le pointeur de fichier vers le début du fichier avant de tenter de le lire. Ceci peut être réalisé en utilisant la fonction Seek sur le pointeur *os.File.
Voici comment procéder :
_, err := f.Seek(0, 0) if err != nil { fmt.Println("Error", err) }
Le code ci-dessus recherche le début du fichier, en passant les arguments 0 pour le décalage et 0 pour la position de départ (début du fichier). Désormais, vous pouvez lire le fichier sans rencontrer l'erreur io.EOF.
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!