Comment obtenir la liste des fichiers et dossiers dans un répertoire en Go ? (ioutil.ReadDir vs os.ReadDir)
Bonjour à tous ! Je viens de commencer à apprendre Go et je suis confronté à une tâche : lire le contenu d'un dossier et afficher la liste de tous les fichiers et sous-dossiers. J'ai cherché sur Google et trouvé plusieurs méthodes, mais je n'arrive pas à comprendre laquelle est correcte et moderne.
Par exemple, j'ai essayé d'utiliser `ioutil.ReadDir`, mais dans la documentation il est dit que ce package est deprecated (obsolète). J'ai aussi vu `os.ReadDir` et `filepath.Walk`. J'ai ce code :
```go
package main
import (
"fmt"
"io/ioutil"
"log"
)
func main() {
files, err := ioutil.ReadDir(".")
if err != nil {
log.Fatal(err)
}
for _, f := range files {
fmt.Println(f.Name())
}
}
```
Il fonctionne, mais l'IDE souligne `ioutil` et dit qu'il est obsolète. Comment obtenir correctement la liste des fichiers en Go 1.16+ ? Dois-je trier le résultat ? Comment distinguer un fichier d'un dossier ? Et y a-t-il une différence entre `os.ReadDir` et `ioutil.ReadDir` autre que le nom ?
Indiquez-moi, s'il vous plaît, les best practices pour cette tâche.
No answers yet.
Connectez-vous pour laisser une réponse
Blogs