在Go中创建目录实例

616 阅读1分钟

要在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()创建一个指定的目录,以及任何必要的父文件夹。如果你需要在你的程序中创建一个嵌套层次的目录,请使用这个函数。