在Go語言中,可以使用`filepath.Walk`函數來遍歷文件夾。`filepath.Walk`函數會遞歸地遍歷指定的文件夾及其子文件夾,并對每個文件或文件夾執行一個指定的函數。
下面是一個簡單的示例,演示如何使用`filepath.Walk`函數遍歷文件夾并打印出所有文件的路徑:
```go
package main
import (
"fmt"
"os"
"path/filepath"
)
func visit(path string, info os.FileInfo, err error) error {
if err != nil {
fmt.Printf("遍歷文件夾出錯: %v\n", err)
return err
}
if info.IsDir() {
fmt.Printf("文件夾: %s\n", path)
} else {
fmt.Printf("文件: %s\n", path)
}
return nil
}
func main() {
root := "/path/to/folder" // 指定要遍歷的文件夾路徑
err := filepath.Walk(root, visit)
if err != nil {
fmt.Printf("無法遍歷文件夾: %v\n", err)
}
}
```
在上面的示例中,`visit`函數是我們在遍歷過程中對每個文件或文件夾執行的函數。`visit`函數的參數包括當前文件或文件夾的路徑(`path`)、文件或文件夾的信息(`info`)以及可能發生的錯誤(`err`)。
在`visit`函數中,我們首先檢查是否有錯誤發生。然后,我們檢查當前文件或文件夾是否是一個文件夾(通過`info.IsDir()`函數來判斷)。如果是文件夾,我們打印出文件夾的路徑;如果是文件,我們打印出文件的路徑。
最后,在`main`函數中,我們指定要遍歷的文件夾路徑,并調用`filepath.Walk`函數來進行遍歷。如果遍歷過程中發生錯誤,我們打印出錯誤信息。
請注意替換示例代碼中的`/path/to/folder`為你想要遍歷的文件夾路徑。