在Go中,可以使用标准库中的filepath.Walk
函数来遍历目录和文件。下面是一个简单的示例代码:
package main
import (
"fmt"
"os"
"path/filepath"
)
func visit(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
if info.IsDir() {
fmt.Printf("Directory: %s\n", path)
return nil
}
fmt.Printf("File: %s\n", path)
return nil
}
func main() {
root := "/path/to/directory"
err := filepath.Walk(root, visit)
if err != nil {
fmt.Printf("Error walking the path %s: %v\n", root, err)
}
}
在上面的代码中,visit
函数用于处理遍历过程中的每个文件和目录,根据FileInfo
的IsDir
方法来判断当前路径是文件还是目录。然后在main
函数中调用filepath.Walk
函数来遍历指定的目录。