我需要使用 Go 创建一个给定的嵌套目录结构,但我无法找到最实用和最惯用的方法。一些灵感:
砰砰:mkdir -p some/deep/path
C# : IO.Directory.CreateDirectory(@"some/deep/path")
菲律宾比索 : mkdir("some/deep/path", 0777, true)
爪哇:new File("some/deep/path").mkdirs()
去:?
要求是,如果路径已经到位,则操作应该是静默的(就像在其他语言示例中一样(。
您可以尝试查看os.MkdirAll
是否确实创建了所需的所有文件夹。
MkdirAll
创建一个名为 path 的目录以及任何必要的父目录,并返回nil
,否则返回错误。
权限位 perm 用于MkdirAll
创建的所有目录。
如果 path 已经是一个目录,MkdirAll
什么都不做,返回nil
。
请参阅其测试类。
请注意,当您查看其实现时,MkdirAll
并不完全是"原子的"。