golang如何创建目录
golang中关于目录与文件名等操作都在os这个包中,具体的创建目录都是通过Mkdir和MkdirAll这2个函数来实现的,这两个函数用法一致
os.Mkdir(dirName string, perm FileMode)
1、dirName即要创建的目录(文件夹路径),可以是绝对路径,也可以是相对路径(相对于GOPATH)
2、perm表示创建的目录的权限,如0777(读r权限值为4,写权限w值为2,执行权限x值为1)
例如:我要在/data/program/goapp这个目录下创建一个golang这个子目录,示例如下:
package main import ( "os" "fmt" ) func main() { err := os.Mkdir("/data/program/goapp/golang", 0666) if err != nil { fmt.Println(err) } }
Mkdir和MkdirAll的区别
1、Mkdir创建目录,它的父级目录必须是存在的,不然创建会失败
2、MkdirAll可以递归创建目录,即只要根目录存在即可,如下:
err := os.MkdirAll("/data/program/goapp/golang/test/hello", 0766) if err != nil { fmt.Println(err) }
本例中:/data/program/goapp是已经存在的目录,而子目录golang/test/hello是不存在,此时要使用MkdirAll来创建