一尘不染

如何在 Golang 中使用 Mkdir 创建嵌套目录?

go

我正在尝试从 Go 可执行文件(例如“dir1/dir2/dir3”)创建一组嵌套目录。我已经成功地用这一行创建了一个目录:

os.Mkdir("." + string(filepath.Separator) + c.Args().First(),0777);

但是,我不知道如何在该目录中创建预定的嵌套目录集。


阅读 220

收藏
2021-11-22

共1个答案

一尘不染

os.Mkdir用于创建单个目录。要创建文件夹路径,请尝试使用:

os.MkdirAll(folderPath, os.ModePerm)

Go 文档

func MkdirAll(path string, perm FileMode) 错误

MkdirAll 创建一个名为 path 的目录以及任何必要的父目录,并返回 nil,否则返回错误。权限位 perm 用于 MkdirAll 创建的所有目录。如果 path 已经是一个目录,则 MkdirAll 什么都不做并返回 nil。

编辑:

更新为正确使用os.ModePerm
对于文件路径的串联,请使用path/filepath@Chris 的回答中所述的包。

2021-11-22