最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2015年03月02日 12:03:25   作者:兩把刷子  
這篇文章主要介紹了Go語(yǔ)言掃描目錄并獲取相關(guān)信息的方法,實(shí)例分析了Go語(yǔ)言操作目錄及文件的技巧,需要的朋友可以參考下

本文實(shí)例講述了Go語(yǔ)言掃描目錄并獲取相關(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語(yǔ)言程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Go學(xué)習(xí)筆記之Zap日志的使用

    Go學(xué)習(xí)筆記之Zap日志的使用

    這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言中Zap日志的使用以及安裝,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Go語(yǔ)言有一定的幫助,需要的可以參考一下
    2022-07-07
  • 一文了解Go語(yǔ)言中編碼規(guī)范的使用

    一文了解Go語(yǔ)言中編碼規(guī)范的使用

    這篇文章主要介紹了一文了解Go語(yǔ)言中編碼規(guī)范的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • golang?JSON技巧小結(jié)

    golang?JSON技巧小結(jié)

    本文介紹了在Go語(yǔ)言中使用JSON時(shí)的一些小技巧,包括如何將字符串轉(zhuǎn)換為數(shù)字、臨時(shí)忽略空字段、臨時(shí)添加額外字段、粘合兩個(gè)struct、改名struct字段、支持不同類(lèi)型的數(shù)字,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • 簡(jiǎn)單講解Go程序中使用MySQL的方法

    簡(jiǎn)單講解Go程序中使用MySQL的方法

    這篇文章主要介紹了Go程序中使用MySQL的方法,需要使用第三方包來(lái)進(jìn)行連接,需要的朋友可以參考下
    2015-10-10
  • 使用Go+GoQuery庫(kù)實(shí)現(xiàn)頭條新聞采集

    使用Go+GoQuery庫(kù)實(shí)現(xiàn)頭條新聞采集

    在本文中,我們將介紹如何使用Go語(yǔ)言和GoQuery庫(kù)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的爬蟲(chóng)程序,用于抓取頭條新聞的網(wǎng)頁(yè)內(nèi)容,我們還將使用爬蟲(chóng)代理服務(wù),提高爬蟲(chóng)程序的性能和安全性,我們將使用多線程技術(shù),提高采集效率,最后,我們將展示爬蟲(chóng)程序的運(yùn)行結(jié)果和代碼,需要的朋友可以參考下
    2023-10-10
  • Go操作redis與redigo的示例解析

    Go操作redis與redigo的示例解析

    這篇文章主要為大家介紹了Go操作redis與redigo的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • go語(yǔ)言學(xué)習(xí)之包和變量詳解

    go語(yǔ)言學(xué)習(xí)之包和變量詳解

    這篇文章主要給大家愛(ài)介紹了關(guān)于go語(yǔ)言學(xué)習(xí)之包和變量的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用go語(yǔ)言具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-06-06
  • go微服務(wù)PolarisMesh源碼解析服務(wù)端啟動(dòng)流程

    go微服務(wù)PolarisMesh源碼解析服務(wù)端啟動(dòng)流程

    這篇文章主要為大家介紹了go微服務(wù)PolarisMesh源碼解析服務(wù)端啟動(dòng)流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 深入了解Go語(yǔ)言中sync.Pool的使用

    深入了解Go語(yǔ)言中sync.Pool的使用

    本文將介紹?Go?語(yǔ)言中的?sync.Pool并發(fā)原語(yǔ),包括sync.Pool的基本使用方法、使用注意事項(xiàng)等的內(nèi)容,對(duì)我們了解Go語(yǔ)言有一定的幫助,需要的可以參考一下
    2023-04-04
  • Go語(yǔ)言中空白標(biāo)識(shí)符的具體使用

    Go語(yǔ)言中空白標(biāo)識(shí)符的具體使用

    Go語(yǔ)言的空白標(biāo)識(shí)符作為匿名變量,用于占位和忽略多余值,本文主要介紹了Go語(yǔ)言中空白標(biāo)識(shí)符的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-06-06

最新評(píng)論

胶南市| 石台县| 札达县| 永定县| 共和县| 汉中市| 宣城市| 土默特左旗| 阿拉善右旗| 岳阳市| 英德市| 崇州市| 邛崃市| 曲阜市| 海晏县| 泽普县| 道真| 景宁| 霍林郭勒市| 德令哈市| 昔阳县| 盖州市| 平安县| 鲁山县| 临江市| 汉中市| 祁门县| 武邑县| 仲巴县| 汉阴县| 神农架林区| 梓潼县| 泗洪县| 大宁县| 邵东县| 昌图县| 秦安县| 寻乌县| 西贡区| 萍乡市| 江孜县|