深入解析Go语言的io.ioutil标准库使用
今天我们讲解的是golang标准库里边的io/ioutil包–也就是packageio/ioutil
1.ioutil.ReadDir(dirnamestring)这个函数的原型是这样的funcReadDir(dirnamestring)([]os.FileInfo,error)
不难看出输入的是dirname类型是string类型的譬如”d:/go”,然会是一个FileInfo的切片,其中FileInfo的结构是这样的
typeFileInfointerface{ Name()string //文件的名称 Size()int64 //唱过文件的大小 Mode()FileMode //文件的权限 ModTime()time.Time//时间 IsDir()bool //是否是目录 Sys()interface{} //基础数据源接口(canreturnnil) }
所以说返回的切片可以执行FileInfo的方法,另外一个参数是什么呢?error是否成功返回!这个时候我们就能做一下实验代码是这样的一个demo
import"fmt" import"io/ioutil"
funcmain(){ dir_list,e:=ioutil.ReadDir("d:/test") ife!=nil{ fmt.Println("readdirerror") return } fori,v:=rangedir_list{ fmt.Println(i,"=",v.Name()) fmt.Println(v.Name(),"的权限是:",v.Mode()) fmt.Println(v.Name(),"文件大小:",v.Size()) fmt.Println(v.Name(),"创建时间",v.ModTime()) fmt.Println(v.Name(),"系统信息",v.Sys()) ifv.IsDir()==true{ fmt.Println(v.Name(),"是目录")
} } }