go对目录的操作

一:.go创建目录两种方法

  1、创建单层目录

  mkdir(name,perm)权限  

dir:="./mkdir"
err:=os.Mkdir(dir,0777)
if err != nil {
    fmt.Println("create dir is error")
}

 2、创建多层目录

path:="./aa/bb/cc"
err:=os.MkdirAll(path,0777)
if err != nil {
fmt.Println("create is error")
}

     3.根据时间创建目录 

uploadifle:="./upload/file/"+time.Now().Format("2006/01/02/")

_,err:=os.Stat(uploadifle) if err!= nil { os.MkdirAll(uploadifle,0777)
}

二:.go重命名目录和删除目录

oldPath:= "upload"
newPath:="newupload"
err:=os.Rename(oldPath,newPath)
if err != nil {
    fmt.Println(err)
}
path:="newupload"
err:=os.Remove(path)//如果是递归目录,删除失败
err:=os.RemoveAll(path) //是否递归目录一次性全部删除
if err != nil {
    fmt.Println("is error")
}

 三:遍历目录

    

func main(){
    path:="./upload_walk/upload"+time.Now().Format("2006/01/02")
    _,err:= os.Stat(path)
    if err != nil {
        os.MkdirAll(path,0777)//创建目录
    }
    rootpath:="./upload_walk"
    filepath.Walk(rootpath,readdir)
}
func readdir(path string, f os.FileInfo, err error) error{
    fmt.Println(path)
    return nil
}

    

原文地址:https://www.cnblogs.com/zh718594493/p/15014230.html