Comment obtenir la liste des fichiers et dossiers dans un répertoire en Go : guide complet
Bonjour à tous ! Je suis débutant en Go et j'essaie de résoudre un problème simple : obtenir la liste de tous les fichiers et sous-dossiers dans un répertoire donné. J'ai essayé d'utiliser la fonction `ioutil.ReadDir`, mais elle est marquée comme obsolète. Ensuite, je suis tombé sur `os.ReadDir`, mais je n'ai pas bien compris comment l'utiliser.
Voici ce que j'ai essayé :
```go
package main
import (
"fmt"
"io/ioutil"
)
func main() {
files, err := ioutil.ReadDir(".")
if err != nil {
fmt.Println("Erreur :", err)
return
}
for _, f := range files {
fmt.Println(f.Name())
}
}
```
Le code compile, mais l'IDE souligne `ioutil.ReadDir` et dit qu'il est deprecated. Je voudrais utiliser une approche moderne. De plus, j'ai besoin de :
1. Obtenir uniquement les fichiers (sans les dossiers).
2. Obtenir uniquement les dossiers.
3. Parcourir récursivement tous les sous-répertoires.
4. Filtrer par extension (par exemple, uniquement les fichiers `.go`).
Pouvez-vous me dire comment faire cela correctement en Go ? De préférence avec des exemples. Merci d'avance !