1. 程式人生 > 實用技巧 >golang學習筆記---獲取目錄下的檔案及目錄資訊

golang學習筆記---獲取目錄下的檔案及目錄資訊

一、獲取當前目錄下的檔案或目錄資訊(不包含多級子目錄)

package main

import (
	"fmt"
	"io/ioutil"
	"log"
	"os"
)

func main() {
	pwd, _ := os.Getwd()
	//獲取檔案或目錄相關資訊
	fileInfoList, err := ioutil.ReadDir(pwd)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(len(fileInfoList))
	for i := range fileInfoList {
		fmt.Println(fileInfoList[i].Name()) //列印當前檔案或目錄下的檔案或目錄名
	}

}


二、獲取當前目錄下的檔案或目錄名(不包含多級子目錄)

package main

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

func main() {
    pwd, _ := os.Getwd()

    //獲取當前目錄下的檔案或目錄名(包含路徑)
    filepathNames, err := filepath.Glob(filepath.Join(pwd, "*"))
    if err != nil {
        log.Fatal(err)
    }

    
for i := range filepathNames { fmt.Println(filepathNames[i]) //列印path } }

三、獲取當前檔案或目錄下的所有檔案或目錄資訊(包括子目錄)

package main

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

func main() {
    pwd, _ := os.Getwd()

    //獲取當前目錄下的所有檔案或目錄資訊
    filepath.Walk(pwd, func(path string
, info os.FileInfo, err error) error { fmt.Println(path) //列印path資訊 fmt.Println(info.Name()) //列印檔案或目錄名 return nil }) }