Go 操作文件及文件夹 os.Mkdir及os.MkdirAll两者的区别

os.MkdirAll 创建多级目录

案例

创建单个目录

err:=os.Mkdir("./dirname",os.ModePerm)
if err!=nil{
   fmt.Println(err)
}

创建多级目录

err:=os.Mkdir("./dirname",os.ModePerm)
if err!=nil{
   fmt.Println(err)
}

根据日期创建文件夹路径

uploadDir := "static/img/" + time.Now().Format("20060102")
err := os.MkdirAll( uploadDir , 777)  
if err!=nil{
fmt.Println(err) // 打印报错信息
}

其他一些常用的函数

获取当前目录

os.Getwd() //获取当前目录

创建文件

file1, _ := os.Create("./test.go") 
defer file1.Close()

以读写方式打开文件,如果不存在则创建文件,等同于上面os.Create

filename, _ := os.OpenFile("./test.go", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0666)
defer filename.Close()

连接两个文件名地址

os.path.join("E:","test.go")  \\  则地址为 E:\test.go

删除指定目录下所有文件

os.Remove("A/1/2/test")

删除指定目录

os.RemoveAll("dirname")

重命名文件

os.Rename("./test.go", "./test2.go")