Listare file in maniera ricorsiva in Go
In un precedente articolo, abbiamo visto come listare files in una cartella in Go.
In questo vediamo come fare la stessa cosa ma in maniera ricorsiva.
Quindi andremmo a listare anche i files nelle sottocartelle.
Per fare questa operazione usiamo filepath.Walk:
package main
import (
"fmt"
"os"
"path/filepath"
)
func main() {
dir := "/run/media/fermat/DATI/Personal/Musica/"
err := filepath.Walk(dir, func(path string, info os.FileInfo, err error) error {
if err != nil {
fmt.Println(err)
return err
}
fmt.Printf("path completo: %sn | nome: %sn", path, info.Name())
return nil
})
if err != nil {
fmt.Println(err)
os.Exit(0)
}
}
Enjoy!
go filepath walk
Commentami!