主頁 > 知識(shí)庫(kù) > Go語言掃描目錄并獲取相關(guān)信息的方法

Go語言掃描目錄并獲取相關(guān)信息的方法

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

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

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

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

復(fù)制代碼 代碼如下:
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 )
    }
}

希望本文所述對(duì)大家的Go語言程序設(shè)計(jì)有所幫助。

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

標(biāo)簽:湘潭 喀什 本溪 運(yùn)城 九江 晉城 楚雄 深圳

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go語言掃描目錄并獲取相關(guān)信息的方法》,本文關(guān)鍵詞  語言,掃描,目錄,并,獲取,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Go語言掃描目錄并獲取相關(guān)信息的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Go語言掃描目錄并獲取相關(guān)信息的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章