go语言,如何获取到一个文件夹中的所有文件
时间: 2024-03-25 21:37:48 浏览: 21
你可以使用 Go 语言中的 os 包和 filepath 包来获取指定目录中的所有文件和子目录。下面是一个简单的示例代码:
```go
package main
import (
"fmt"
"io/ioutil"
"os"
"path/filepath"
)
func main() {
root := "./" // 指定需要列出文件的目录
err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
if !info.IsDir() {
fmt.Println(path)
}
return nil
})
if err != nil {
fmt.Println(err)
}
files, err := ioutil.ReadDir(root)
if err != nil {
fmt.Println(err)
}
for _, file := range files {
if !file.IsDir() {
fmt.Println(file.Name())
}
}
}
```
在上面的代码中,我们使用 `filepath.Walk` 函数遍历指定的目录,它会递归地遍历子目录。在遍历过程中,我们通过判断 `os.FileInfo` 中的 `IsDir()` 方法来判断当前遍历到的是文件还是目录,如果是文件就输出它的路径。
另外,我们还可以使用 `ioutil.ReadDir` 函数来获取指定目录中的所有文件和子目录。该函数会返回一个 `os.FileInfo` 列表,我们可以遍历这个列表,通过判断 `IsDir()` 方法来区分文件和子目录。在上面的代码中,我们通过这种方式输出了指定目录中的所有文件的文件名。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)