溫馨提示×

golang遍歷文件夾怎么實現(xiàn)

小億
99
2023-10-20 17:59:41
欄目: 編程語言

在Go語言中,可以使用`filepath.Walk`函數(shù)來遍歷文件夾。`filepath.Walk`函數(shù)會遞歸地遍歷指定的文件夾及其子文件夾,并對每個文件或文件夾執(zhí)行一個指定的函數(shù)。
下面是一個簡單的示例,演示如何使用`filepath.Walk`函數(shù)遍歷文件夾并打印出所有文件的路徑:
```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`函數(shù)是我們在遍歷過程中對每個文件或文件夾執(zhí)行的函數(shù)。`visit`函數(shù)的參數(shù)包括當(dāng)前文件或文件夾的路徑(`path`)、文件或文件夾的信息(`info`)以及可能發(fā)生的錯誤(`err`)。
在`visit`函數(shù)中,我們首先檢查是否有錯誤發(fā)生。然后,我們檢查當(dāng)前文件或文件夾是否是一個文件夾(通過`info.IsDir()`函數(shù)來判斷)。如果是文件夾,我們打印出文件夾的路徑;如果是文件,我們打印出文件的路徑。
最后,在`main`函數(shù)中,我們指定要遍歷的文件夾路徑,并調(diào)用`filepath.Walk`函數(shù)來進(jìn)行遍歷。如果遍歷過程中發(fā)生錯誤,我們打印出錯誤信息。
請注意替換示例代碼中的`/path/to/folder`為你想要遍歷的文件夾路徑。

0