为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
天涯尽头无女友 2021-09-09 20:24:13
我需要使用 Go 创建一个给定的嵌套目录结构,但我想不出最实用和最惯用的方法来做到这一点。一些启发:重击: mkdir -p some/deep/pathC# : IO.Directory.CreateDirectory(@"some/deep/path")PHP : mkdir("some/deep/path", 0777, true)爪哇: new File("some/deep/path").mkdirs()走 : ?要求是如果路径已经到位,操作应该是静默的(就像在其他语言示例中一样)。
查看完整描述

1 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

您可以尝试查看是否os.MkdirAll创建了您需要的所有文件夹。

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

查看它的测试类

请注意,当您查看它的 implementation 时MkdirAll它并不完全是“原子的”。


查看完整回答
反对 回复 2021-09-09
  • 1 回答
  • 0 关注
  • 222 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信