Golang : Read directory content with filepath.Walk()
Golang's filepath.Walk function allow a program to traverse a directory content and tree with ease. In this tutorial, we will see how to read a directory and display its content name with file size. This example will use the http://golang.org/pkg/path/filepath/#Walk function.
readdirwalk.go
package main
import (
"path/filepath"
"os"
"flag"
"fmt"
)
func walkpath(path string, f os.FileInfo, err error) error {
fmt.Printf("%s with %d bytes\n", path,f.Size())
return nil
}
func main() {
flag.Parse()
root := flag.Arg(0) // 1st argument is the directory location
filepath.Walk(root, walkpath)
}
execute go run readdirwalk.go ./
and see how it goes. You can change to different directory and test out the output as well. Hope this tutorial is helpful to you.
See also : Golang : Read directory content with os.Open
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+6.6k Golang : Generate human readable password
+4.8k nginx : force all pages to be SSL
+15.1k Golang :Trim white spaces from a string
+6.5k Golang : Handling Yes No Quit query input
+3.7k Golang : How to pass data between controllers with JSON Web Token
+4.6k How to check with curl if my website or the asset is gzipped ?
+21.5k Golang : Get ASCII code from a key press(cross-platform) example
+9.4k RPM : error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
+5.1k Golang : Convert Chinese UTF8 characters to Pin Yin
+5.9k Golang : Normalize email to prevent multiple signups example
+33.5k Golang : Upload and download file to/from AWS S3
+4.6k Unix/Linux/MacOSx : Get local IP address