在 Go 中递归创建目录的最惯用的方法是什么?

我需要使用 Go 创建一个给定的嵌套目录结构,但我想不出最实用和最惯用的方法来做到这一点。一些启发:

重击: mkdir -p some/deep/path

C# : IO.Directory.CreateDirectory(@"some/deep/path")

PHP : mkdir("some/deep/path", 0777, true)

爪哇: new File("some/deep/path").mkdirs()

走 : ?

要求是如果路径已经到位,操作应该是静默的(就像在其他语言示例中一样)。


天涯尽头无女友
浏览 223回答 1
1回答

精慕HU

您可以尝试查看是否os.MkdirAll创建了您需要的所有文件夹。MkdirAll创建一个名为 path 的目录以及任何必要的 parent,并返回nil,否则返回错误。权限位 perm 用于MkdirAll创建的所有目录。如果 path 已经是一个目录,MkdirAll则什么都不做并返回nil.查看它的测试类。请注意,当您查看它的 implementation 时,MkdirAll它并不完全是“原子的”。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go