To open a new book, "Hands-On System Programming with Go", look at the system,
This aspect of the East, had previously used C language,
Now with GO, come again! !
package main import ( "fmt" "os" "path/filepath" ) func main() { wd, err := os.Getwd() if err != nil { fmt.Println(err) return } fmt.Println("starting dir:", wd) if err := os.Chdir("d:\\"); err != nil { fmt.Println(err) return } if wd, err = os.Getwd(); err != nil { fmt.Println(err) return } fmt.Println("final dir:", wd) if len(os.Args) != 2 { fmt.Println("Please specify a path.") return } root, err := filepath.Abs(os.Args[1]) if err != nil { fmt.Println(err) return } fmt.Println("listing files in ", root) var c struct { files int dirs int } filepath.Walk(root, func(path string, info os.FileInfo, err error) error { if info.IsDir() { c.dirs++ } else { c.files++ } fmt.Println("-", path) return nil }) fmt.Printf("Total: %d files in %d directiories.", c.files, c.dirs) }