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

Golang獲取目錄下的文件及目錄信息操作

 更新時(shí)間:2020年12月23日 16:53:35   作者:思維的深度  
這篇文章主要介紹了Golang獲取目錄下的文件及目錄信息操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

一、獲取當(dāng)前目錄下的文件或目錄信息(不包含多級(jí)子目錄)

func main() {
 pwd,_ := os.Getwd()
 //獲取文件或目錄相關(guān)信息
 fileInfoList,err := ioutil.ReadDir(pwd)
 if err != nil {
 log.Fatal(err)
 }
 fmt.Println(len(fileInfoList))
 for i := range fileInfoList {
 fmt.Println(fileInfoList[i].Name()) //打印當(dāng)前文件或目錄下的文件或目錄名
 }
}

二、獲取當(dāng)前目錄下的文件或目錄名(不包含多級(jí)子目錄)

package main 
import (
 "os"
 "io/ioutil"
 "log"
 "fmt"
 "path/filepath"
)
 
func main() {
 pwd,_ := os.Getwd()
 
 //獲取當(dāng)前目錄下的文件或目錄名(包含路徑)
 filepathNames,err := filepath.Glob(filepath.Join(pwd,"*"))
 if err != nil {
 log.Fatal(err)
 }
 
 for i := range filepathNames {
 fmt.Println(filepathNames[i]) //打印path
 } 
}

三、獲取當(dāng)前文件或目錄下的所有文件或目錄信息(包括子目錄)

package main 
import (
 "os"
 "io/ioutil"
 "log"
 "fmt"
 "path/filepath"
)
 
func main() {
 pwd,_ := os.Getwd() 
 
 //獲取當(dāng)前目錄下的所有文件或目錄信息
 filepath.Walk(pwd,func(path string, info os.FileInfo, err error) error{
 fmt.Println(path) //打印path信息
 fmt.Println(info.Name()) //打印文件或目錄名
 return nil
 })
}

補(bǔ)充:Golang ioutil.ReadDir 讀取目錄下的內(nèi)容

ioutil中提供了一個(gè)非常翻遍的函數(shù)函數(shù)ReadDir,他讀取目錄并返回排好序的文件以及子目錄名([]os.FileInfo)

example:編寫程序輸出某目錄下的所有文件。

package main
import (
  "io/ioutil"
  "fmt"
  "os"
)
func listAll(path string, curHier int) {
  readerInfos ,err := ioutil.ReadDir(path)
  if err != nil {
    fmt.Println(err)
    return
  }
  for _, info := range readerInfos {
    if info.IsDir() {
      for tmpheir := curHier; tmpheir >0; tmpheir-- {
        fmt.Printf("|\t")
      }
      fmt.Println(info.Name(),"\\")
      listAll(path + "\\" + info.Name(),curHier+1)
    }else {
      for tmpheir := curHier ;tmpheir >0; tmpheir-- {
        fmt.Printf("|\t")
      }
      fmt.Println(info.Name())
    }
  }
}
func main() {
  dir := os.Args[1]
  listAll(dir,0)
}

我是在win10 環(huán)境中試驗(yàn)。成功

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

相關(guān)文章

  • Go語(yǔ)言中的方法定義用法分析

    Go語(yǔ)言中的方法定義用法分析

    這篇文章主要介紹了Go語(yǔ)言中的方法定義用法,實(shí)例分析了方法的定義及使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • Go語(yǔ)言并發(fā)模型的2種編程方案

    Go語(yǔ)言并發(fā)模型的2種編程方案

    這篇文章主要介紹了Go語(yǔ)言并發(fā)模型的2種編程方案,本文給出共享內(nèi)存和通過(guò)通信的2種解決方案,并給出了實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2014-10-10
  • 關(guān)于Golang的Map的線程安全問(wèn)題的解決方案

    關(guān)于Golang的Map的線程安全問(wèn)題的解決方案

    在?Golang?編程中,map?是一種常用的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)鍵值對(duì),然而,Golang?的?map?在并發(fā)訪問(wèn)時(shí)是線程不安全的,本文將詳細(xì)介紹?Golang?中?map?的線程不安全性,并提供一些解決方案,幫助開(kāi)發(fā)者在并發(fā)編程中正確使用?map,需要的朋友可以參考下
    2024-11-11
  • Go語(yǔ)言中http和mysql的實(shí)現(xiàn)代碼

    Go語(yǔ)言中http和mysql的實(shí)現(xiàn)代碼

    本文通過(guò)實(shí)例代碼給大家介紹了Go語(yǔ)言中http和mysql的實(shí)現(xiàn)代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-11-11
  • Golang實(shí)現(xiàn)Dijkstra算法過(guò)程詳解

    Golang實(shí)現(xiàn)Dijkstra算法過(guò)程詳解

    Dijkstra 算法是一種用于計(jì)算無(wú)向圖的最短路徑的算法,它是基于貪心策略的,每次選擇當(dāng)前距離起始節(jié)點(diǎn)最近的未訪問(wèn)節(jié)點(diǎn)進(jìn)行訪問(wèn),并更新其相鄰節(jié)點(diǎn)的距離值,以得到最短路徑,這篇文章主要介紹了Golang實(shí)現(xiàn)Dijkstra算法,需要的朋友可以參考下
    2023-05-05
  • go-zero自定義中間件的幾種方式

    go-zero自定義中間件的幾種方式

    首先 go-zero 已經(jīng)為我們提供了很多的中間件的實(shí)現(xiàn),但有時(shí)難免有需求需要自定義,這里介紹幾種自定義的方法,文中通過(guò)代碼示例講解的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-07-07
  • Go實(shí)現(xiàn)SMTP郵件發(fā)送訂閱功能(包含163郵箱、163企業(yè)郵箱、谷歌gmail郵箱)

    Go實(shí)現(xiàn)SMTP郵件發(fā)送訂閱功能(包含163郵箱、163企業(yè)郵箱、谷歌gmail郵箱)

    這篇文章給大家介紹了Go實(shí)現(xiàn)SMTP郵件發(fā)送訂閱功能(包含163郵箱、163企業(yè)郵箱、谷歌gmail郵箱),需求很簡(jiǎn)單,就是用戶輸入自己的郵箱后,使用官方郵箱給用戶發(fā)送替郵件模版,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2023-10-10
  • Golang?errgroup?設(shè)計(jì)及實(shí)現(xiàn)原理解析

    Golang?errgroup?設(shè)計(jì)及實(shí)現(xiàn)原理解析

    這篇文章主要為大家介紹了Golang?errgroup?設(shè)計(jì)及實(shí)現(xiàn)原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Go type關(guān)鍵字(類型定義與類型別名的使用差異)用法實(shí)例探究

    Go type關(guān)鍵字(類型定義與類型別名的使用差異)用法實(shí)例探究

    這篇文章主要為大家介紹了Go type關(guān)鍵字(類型定義與類型別名的使用差異)用法實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • glow工具在命令行讀取Markdown好物分享

    glow工具在命令行讀取Markdown好物分享

    這篇文章主要為大家介紹了一款實(shí)用的命令行工具glow,這個(gè)CLI工具可以在命令行讀取Markdown,這對(duì)于碼農(nóng)來(lái)說(shuō)非常友好,使用起來(lái)也非常舒爽
    2022-07-07

最新評(píng)論

土默特左旗| 丰都县| 崇州市| 华容县| 同心县| 定南县| 毕节市| 府谷县| 中阳县| 准格尔旗| 阳曲县| 乐亭县| 同德县| 沧源| 延安市| 黎平县| 赤壁市| 财经| 仪陇县| 长汀县| 米泉市| 五华县| 和林格尔县| 清镇市| 乌兰浩特市| 武鸣县| 哈巴河县| 益阳市| 岗巴县| 建昌县| 莱西市| 奇台县| 大城县| 芜湖县| 贵港市| 永宁县| 新竹县| 河西区| 凌源市| 西丰县| 任丘市|