import (
"fmt"
+ "os"
"path/filepath"
)
// a/b/c
// a/b/c
}
+func ExampleWalk() {
+ dir := "dir/to/walk"
+ subDirToSkip := "skip" // dir/to/walk/skip
+
+ err := filepath.Walk(dir, func(path string, info os.FileInfo, err error) error {
+ if err != nil {
+ fmt.Printf("prevent panic by handling failure accessing a path %q: %v\n", dir, err)
+ return err
+ }
+ if info.IsDir() && info.Name() == subDirToSkip {
+ fmt.Printf("skipping a dir without errors: %+v \n", info.Name())
+ return filepath.SkipDir
+ }
+ fmt.Printf("visited file: %q\n", path)
+ return nil
+ })
+
+ if err != nil {
+ fmt.Printf("error walking the path %q: %v\n", dir, err)
+ }
+}