golang递归获取目录下的所有文件
生活随笔
收集整理的這篇文章主要介紹了
golang递归获取目录下的所有文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡言
1. golang為我們提供了完善的文件操作庫,例如os,ioutil等
2. 前人已經寫了文件操作的示例,具體可參考這篇博客?https://colobu.com/2016/10/12/go-file-operations/#more
效果如下
這里是目錄結構? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?這里是程序打印出來的結果
? ? ? ? ??
代碼如下
package main import ("fmt""io/ioutil" ) // 遞歸獲取指定目錄下的所有文件名 func GetAllFile(pathname string) ([]string, error) {result := []string{}fis, err := ioutil.ReadDir(pathname)if err != nil {fmt.Printf("讀取文件目錄失敗,pathname=%v, err=%v \n",pathname, err)return result, err}// 所有文件/文件夾for _, fi := range fis {fullname := pathname + "/" + fi.Name()// 是文件夾則遞歸進入獲取;是文件,則壓入數組if fi.IsDir() {temp, err := GetAllFile(fullname)if err != nil {fmt.Printf("讀取文件目錄失敗,fullname=%v, err=%v",fullname, err)return result, err}result = append(result, temp...)} else {result = append(result, fullname)}}return result, nil }func main() {var files []stringfiles, _ = GetAllFile("E:/test/go/get_all_files")fmt.Println("目錄下的所有文件如下")for i:=0;i<len(files);i++ {fmt.Println(files[i])} }?
總結
以上是生活随笔為你收集整理的golang递归获取目录下的所有文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql之慢查询详解,mysqldum
- 下一篇: golang获取文件创建时间,最后访问时