Walk a directory/Recursively: Difference between revisions

Content added Content deleted
(→‎{{header|Go}}: minor update for library change)
Line 388: Line 388:
import (
import (
"fmt"
"fmt"
"path"
"path/filepath"
"os"
"os"
)
)


type MyVisitor struct {} // some dummy type
type MyVisitor struct{} // a type to satisfy filepath.Visitor interface

func (self MyVisitor) VisitDir(_ string, _ *os.FileInfo) bool {
func (MyVisitor) VisitDir(string, *os.FileInfo) bool {
return true
return true
}
}

func (self MyVisitor) VisitFile(filepath string, _ *os.FileInfo) {
func (MyVisitor) VisitFile(fp string, _ *os.FileInfo) {
if path.Ext(filepath) == ".mp3" {
if filepath.Ext(fp) == ".mp3" {
fmt.Println(filepath)
fmt.Println(fp)
}
}
}
}



func main() {
func main() {
path.Walk("/", MyVisitor{}, nil)
filepath.Walk("/", MyVisitor{}, nil)
}</lang>
}</lang>