golang os.walk 使用
go 中提供的 os.walk
函数可以方便的遍历指定目录下的所有子文件夹,其采用的回调的方式处理遍历到的文件夹,回调函数格式为func (path string, info os.FileInfo, err error) error
;
下面是一个获取临时文件夹下所有文件夹的例子:
package main
import(
"fmt"
"os"
"path/filepath"
)
func main(){
sfodler := make([]string, 5, 10)
filepath.Walk(os.TempDir(), func (path string, info os.FileInfo, err error) error {
if info.IsDir() {
path, err := filepath.Abs(path)
sfodler = append(sfodler, path)
if err != nil {
return err
}
}
return nil
})
for _, folder := range sfodler {
fmt.Println(folder)
}
}