golang

golang遍历文件夹怎么实现

小亿
95
2023-10-20 17:59:41
栏目: 编程语言

在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`为你想要遍历的文件夹路径。

0
看了该问题的人还看了