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

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

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

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

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

利用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
}

補(bǔ)充: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
}

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

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

標(biāo)簽:仙桃 崇左 湘潭 銅川 湖南 蘭州 衡水 黃山

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

    • 400-1100-266