在Go中,可以使用標準庫中的filepath.Walk
函數(shù)來遍歷目錄和文件。下面是一個簡單的示例代碼:
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
函數(shù)用于處理遍歷過程中的每個文件和目錄,根據(jù)FileInfo
的IsDir
方法來判斷當前路徑是文件還是目錄。然后在main
函數(shù)中調(diào)用filepath.Walk
函數(shù)來遍歷指定的目錄。