From 8a64f89840b72d8e42a467705d3520ea98eb2214 Mon Sep 17 00:00:00 2001 From: Eli Bendersky Date: Sat, 28 Oct 2023 08:22:37 -0700 Subject: [PATCH] Update directories sample to use WalkDir Since Go 1.16, WalkDir is the recommended alternative over Walk --- examples/directories/directories.go | 11 ++++++----- examples/directories/directories.hash | 4 ++-- public/directories | 15 ++++++++------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/examples/directories/directories.go b/examples/directories/directories.go index ecc2fb5..36a721b 100644 --- a/examples/directories/directories.go +++ b/examples/directories/directories.go @@ -5,6 +5,7 @@ package main import ( "fmt" + "io/fs" "os" "path/filepath" ) @@ -76,19 +77,19 @@ func main() { check(err) // We can also visit a directory *recursively*, - // including all its sub-directories. `Walk` accepts + // including all its sub-directories. `WalkDir` accepts // a callback function to handle every file or // directory visited. fmt.Println("Visiting subdir") - err = filepath.Walk("subdir", visit) + err = filepath.WalkDir("subdir", visit) } // `visit` is called for every file or directory found -// recursively by `filepath.Walk`. -func visit(p string, info os.FileInfo, err error) error { +// recursively by `filepath.WalkDir`. +func visit(path string, d fs.DirEntry, err error) error { if err != nil { return err } - fmt.Println(" ", p, info.IsDir()) + fmt.Println(" ", path, d.IsDir()) return nil } diff --git a/examples/directories/directories.hash b/examples/directories/directories.hash index f62b81a..9b7005d 100644 --- a/examples/directories/directories.hash +++ b/examples/directories/directories.hash @@ -1,2 +1,2 @@ -d2eaefdc6dbeaf130e4824403baa948b5845c0ec -cICbVSX51zI +21e35905e45d7b391823ea761d69199e3712d92c +ORNj2BPrLQr diff --git a/public/directories b/public/directories index 5dfbd60..1629b1f 100644 --- a/public/directories +++ b/public/directories @@ -42,7 +42,7 @@ - +
package main
@@ -55,6 +55,7 @@
import (
     "fmt"
+    "io/fs"
     "os"
     "path/filepath"
 )
@@ -242,7 +243,7 @@ when listing the current directory.

We can also visit a directory recursively, -including all its sub-directories. Walk accepts +including all its sub-directories. WalkDir accepts a callback function to handle every file or directory visited.

@@ -250,7 +251,7 @@ directory visited.

    fmt.Println("Visiting subdir")
-    err = filepath.Walk("subdir", visit)
+    err = filepath.WalkDir("subdir", visit)
 }
@@ -258,16 +259,16 @@ directory visited.

visit is called for every file or directory found -recursively by filepath.Walk.

+recursively by filepath.WalkDir.

-
func visit(p string, info os.FileInfo, err error) error {
+          
func visit(path string, d fs.DirEntry, err error) error {
     if err != nil {
         return err
     }
-    fmt.Println(" ", p, info.IsDir())
+    fmt.Println(" ", path, d.IsDir())
     return nil
 }
@@ -316,7 +317,7 @@ recursively by filepath.Walk.