Golang ioutil.ReadDir 读取目录下的内容

ioutil中提供了一个非常翻遍的函数函数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 环境中试验。成功

你可能感兴趣的:(GoLang)