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
    })
}
原文地址:https://www.cnblogs.com/saryli/p/13410192.html