日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

golang递归获取目录下的所有文件

發布時間:2024/2/28 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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递归获取目录下的所有文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。