Golang: Comment puis-je déterminer le nombre de lignes dans un fichier de manière efficace?

Dans Golang, je suis à la recherche d'un moyen efficace de déterminer le nombre de lignes d'un fichier.

Bien sûr, je suis toujours en boucle dans tout le fichier, mais ne semble pas très efficace.

file, _ := os.Open("/path/to/filename")
fileScanner := bufio.NewScanner(file)
lineCount := 0
for fileScanner.Scan() {
    lineCount++
}
fmt.Println("number of lines:", lineCount)

Est-il mieux (plus rapide, moins coûteux) de façon à trouver le nombre de lignes d'un fichier?

  • Autant que je sache, que je sais que c'est la seule façon, dans n'importe quelle langue.
  • Yup. Vous pouvez obtenir des octets en temps constant, mais pas les lignes.
InformationsquelleAutor SunSparc | 2014-07-03