濮阳杆衣贸易有限公司

主頁 > 知識庫 > Go語言掃描目錄并獲取相關信息的方法

Go語言掃描目錄并獲取相關信息的方法

熱門標簽:海外照相館地圖標注入駐 工商信用卡外呼系統(tǒng)教程 滁州自建外呼系統(tǒng) 客服級電銷機器人 經(jīng)常接到推銷電話機器人的電話 智能營銷軟件 外呼系統(tǒng)如何接收服務密碼 外呼系統(tǒng)多少錢一年 旅游廁所如何電子地圖標注

本文實例講述了Go語言掃描目錄并獲取相關信息的方法。分享給大家供大家參考。具體分析如下:

前言:最近看到Go里面有一個func很容易就可以掃描整個目錄,并且可以得到相應的目錄和文件信息,所以我將其進行了封裝,拿到file info的所有信息 這樣就可以方便的做其它用途了。

直接上代碼,代碼基于Go version 1

復制代碼 代碼如下:
package main
import (
    "path/filepath"
    "os"
    "flag"
    "fmt"
    "time"
)
const (
    IsDirectory             = iota
    IsRegular
    IsSymlink
)
type sysFile struct { 
    fType       int
    fName       string
    fLink       string
    fSize       int64
    fMtime      time.Time
    fPerm       os.FileMode
}
type F struct {
    files []*sysFile
}
func (self *F) visit(path string, f os.FileInfo, err error) error {
    if ( f == nil ) {
        return err
    }
    var tp int
    if f.IsDir() {
        tp = IsDirectory
    }else if (  f.Mode() os.ModeSymlink ) > 0 {
        tp = IsSymlink
    }else{
        tp = IsRegular
    }
    inoFile := sysFile{
        fName : path,
        fType : tp,
        fPerm : f.Mode(),
        fMtime: f.ModTime(),
        fSize : f.Size(),
    }
    self.files = append( self.files, inoFile )
    return nil
}
func main() {
    flag.Parse()
    root := flag.Arg(0)
    self := F{
        files: make( []*sysFile, 0 ),
    }
    err := filepath.Walk(root, func(path string, f os.FileInfo, err error) error {
        return self.visit(path, f, err)
    })
    if err != nil { 
      fmt.Printf("filepath.Walk() returned %v\n", err)
    }
    for _, v := range self.files {
        fmt.Println( v.fName,v.fSize )
    }
}

希望本文所述對大家的Go語言程序設計有所幫助。

您可能感興趣的文章:
  • Go語言正則表達式用法實例小結【查找、匹配、替換等】
  • Go語言正則表達式示例
  • Go語言編程中判斷文件是否存在是創(chuàng)建目錄的方法
  • GO語言實現(xiàn)簡單的目錄復制功能
  • GO語言實現(xiàn)列出目錄和遍歷目錄的方法
  • Go語言的GOPATH與工作目錄詳解
  • GO語言文件的創(chuàng)建與打開實例分析
  • go語言遍歷文件夾示例
  • Go語言文件操作的方法
  • go語言文件正則表達式搜索功能示例

標簽:湘潭 喀什 本溪 運城 九江 晉城 楚雄 深圳

巨人網(wǎng)絡通訊聲明:本文標題《Go語言掃描目錄并獲取相關信息的方法》,本文關鍵詞  語言,掃描,目錄,并,獲取,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Go語言掃描目錄并獲取相關信息的方法》相關的同類信息!
  • 本頁收集關于Go語言掃描目錄并獲取相關信息的方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    平乐县| 双牌县| 北宁市| 贡山| 西丰县| 聂拉木县| 上高县| 中江县| 甘南县| 元谋县| 丰宁| 乌审旗| 德钦县| 绥化市| 二连浩特市| 门源| 平武县| 平顶山市| 西华县| 西贡区| 甘孜| 略阳县| 新田县| 敦煌市| 万全县| 泰宁县| 沁水县| 古浪县| 古交市| 资中县| 克什克腾旗| 仲巴县| 临沭县| 柯坪县| 奉新县| 济阳县| 彩票| 清河县| 教育| 三台县| 黔西|