佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > golang 如何獲取文件夾下面的文件列表

golang 如何獲取文件夾下面的文件列表

熱門標簽:百度競價排名 呼叫中心市場需求 鐵路電話系統 地方門戶網站 AI電銷 Linux服務器 網站排名優(yōu)化 服務外包

golang的文檔里面比較容易找到的一個方法是filepath.Walk,這個方法有個問題是會自動遞歸遍歷當前目錄的子目錄,其實我們通常只是想得到一個目錄下面的文件列表,并不需要這么多的信息,同時這個方法代碼寫起來也比較多比較復雜,我們也沒有必要這么做。

如果僅僅是想獲取一個目錄下面的文件和文件夾的列表,有兩個比較簡單的方法

利用ioutil的ReadDir方法

package main 
import (
    "fmt"
    "io/ioutil"
)
 
func main() {
    files, _ := ioutil.ReadDir("./")
    for _, f := range files {
            fmt.Println(f.Name())
    }
}

利用filepath的Glob方法

package main  
import (
    "fmt"
    "path/filepath"
)
 
func main() {
    files, _ := filepath.Glob("*")
    fmt.Println(files) // contains a list of all files in the current directory
}

補充:golang獲取文件/目錄(包含下面的文件)的大小

看代碼吧~

func DirSize(path string) (int64, error) {
 var size int64
 err := filepath.Walk(path, func(_ string, info os.FileInfo, err error) error {
  if !info.IsDir() {
   size += info.Size()
  }
  return err
 })
 return size, err
}

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 基于golang uint8、int8與byte的區(qū)別說明
  • golang 監(jiān)聽服務的信號,實現平滑啟動,linux信號說明詳解
  • golang 實現時間戳和時間的轉化
  • Golang Gob編碼(gob包的使用詳解)
  • golang如何獲得一個變量的類型
  • golang 如何實現HTTP代理和反向代理
  • Golang實現http文件上傳小功能的案例
  • golang值類型轉換成[]uint8類型的操作

標簽:仙桃 崇左 湘潭 銅川 湖南 蘭州 衡水 黃山

巨人網絡通訊聲明:本文標題《golang 如何獲取文件夾下面的文件列表》,本文關鍵詞  ;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    长汀县| 土默特右旗| 大石桥市| 富源县| 南开区| 浮梁县| 东山县| 郧西县| 鹿邑县| 来安县| 宝坻区| 湘西| 富宁县| 慈利县| 双城市| 永和县| 贡觉县| 新邵县| 明溪县| 乡城县| 奎屯市| 延吉市| 三亚市| 青神县| 定结县| 资阳市| 曲沃县| 西乌珠穆沁旗| 卢湾区| 宁国市| 湖州市| 壶关县| 大名县| 山阴县| 象州县| 云霄县| 涞水县| 金湖县| 改则县| 沙湾县| 开鲁县|