要在Go中创建一个单一的目录,可以使用 os.Mkdir()函数。如果你想创建一个层次结构的文件夹(嵌套目录),使用 os.MkdirAll().这两个函数都需要一个文件夹的路径和权限位作为参数。
在下面的例子中,我们用
os.ModePerm常数作为权限位,这相当于0777.对于 类Unix系统中的目录,它意味着用户有权利列出、修改和搜索该目录中的文件。
创建一个单一的目录
package main
import (
"log"
"os"
)
func main() {
if err := os.Mkdir("a", os.ModePerm); err != nil {
log.Fatal(err)
}
}
该 os.Mkdir()创建一个具有指定名称的新目录,但不能创建子目录。例如,如果你使用 os.Mkdir()与"a/b/c/d" 作为参数name :
os.Mkdir("a/b/c/d", os.ModePerm)
你会得到错误:
mkdir a/b/c/d: no such file or directory
创建一个目录的层次结构(嵌套目录)
package main
import (
"log"
"os"
)
func main() {
if err := os.MkdirAll("a/b/c/d", os.ModePerm); err != nil {
log.Fatal(err)
}
}
则 os.MkdirAll()创建一个指定的目录,以及任何必要的父文件夹。如果你需要在你的程序中创建一个嵌套层次的目录,请使用这个函数。