国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Golang > 正文

GO語言實現列出目錄和遍歷目錄的方法

2020-04-01 19:23:41
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了GO語言實現列出目錄和遍歷目錄的方法,涉及ioutil.ReadDir()與filepath.Walk()的應用,是非常實用的技巧,需要的朋友可以參考下
 

本文實例講述了GO語言實現列出目錄和遍歷目錄的方法。分享給大家供大家參考。具體如下:

GO語言獲取目錄列表用 ioutil.ReadDir(),遍歷目錄用 filepath.Walk(),使用方法課參考本文示例。

具體示例代碼如下:

復制代碼代碼如下:
package main

 

import (
 "fmt"
 "io/ioutil"
 "os"
 "path/filepath"
 "strings"
)

//獲取指定目錄下的所有文件,不進入下一級目錄搜索,可以匹配后綴過濾。
func ListDir(dirPth string, suffix string) (files []string, err error) {
 files = make([]string, 0, 10)

 dir, err := ioutil.ReadDir(dirPth)
 if err != nil {
  return nil, err
 }

 PthSep := string(os.PathSeparator)
 suffix = strings.ToUpper(suffix) //忽略后綴匹配的大小寫

 for _, fi := range dir {
  if fi.IsDir() { // 忽略目錄
   continue
  }
  if strings.HasSuffix(strings.ToUpper(fi.Name()), suffix) { //匹配文件
   files = append(files, dirPth+PthSep+fi.Name())
  }
 }

 return files, nil
}

//獲取指定目錄及所有子目錄下的所有文件,可以匹配后綴過濾。
func WalkDir(dirPth, suffix string) (files []string, err error) {
 files = make([]string, 0, 30)
 suffix = strings.ToUpper(suffix) //忽略后綴匹配的大小寫

 err = filepath.Walk(dirPth, func(filename string, fi os.FileInfo, err error) error { //遍歷目錄
  //if err != nil { //忽略錯誤
  // return err
  //}

  if fi.IsDir() { // 忽略目錄
   return nil
  }

  if strings.HasSuffix(strings.ToUpper(fi.Name()), suffix) {
   files = append(files, filename)
  }

  return nil
 })

 return files, err
}

func main() {
 files, err := ListDir("D://Go", ".txt")
 fmt.Println(files, err)

 files, err = WalkDir("E://Study", ".pdf")
 fmt.Println(files, err)
}

 

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 轮台县| 惠安县| 昆明市| 嘉义市| 政和县| 阿勒泰市| 临漳县| 阿城市| 隆尧县| 开封县| 泰顺县| 仪征市| 惠水县| 吐鲁番市| 闸北区| 光泽县| 汽车| 孟村| 大竹县| 普兰县| 天全县| 麻栗坡县| 定日县| 连南| 星座| 舞阳县| 健康| 靖州| 香港| 西乌珠穆沁旗| 章丘市| 哈巴河县| 军事| 永泰县| 洛宁县| 额尔古纳市| 九江市| 万州区| 葫芦岛市| 乐陵市| 丹江口市|