Comment lire efficacement une ligne de fichier spécifique
Le besoin de lire des lignes particulières à partir d'un fichier survient fréquemment en programmation. Pour résoudre ce problème, une fonction, ReadLine, a été développée. Bien qu'elle obtienne efficacement le résultat souhaité, une question subsiste : existe-t-il une approche supérieure et plus efficace ?
La fonction ReadLine utilise un bufio.Scanner pour parcourir le fichier ligne par ligne. Lorsqu'il atteint le numéro de ligne spécifié, il récupère et renvoie le texte de la ligne, le numéro de ligne actuel et les erreurs d'analyse potentielles.
<code class="go">func ReadLine(r io.Reader, lineNum int) (line string, lastLine int, err error) { sc := bufio.NewScanner(r) for sc.Scan() { lastLine++ if lastLine == lineNum { return sc.Text(), lastLine, sc.Err() } } return line, lastLine, io.EOF }</code>
Cependant, il convient de noter que cette fonction suppose que le fichier peut tenir en mémoire. Pour les fichiers incroyablement volumineux, une stratégie alternative qui traite le fichier ligne par ligne, sans stocker l'intégralité du fichier en mémoire, pourrait être plus appropriée.
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!