我正在学习 golang(初学者),我一直在 google 和 stackoverflow 上搜索,但我找不到答案,如果已经问过,请原谅,但如果 golang 中不存在,我怎么能 mkdir。
例如,在节点中,我会使用 fs-extra 和函数 ensureDirSync (当然,如果不关心阻塞的话)
fs.ensureDir("./public");
原文由 Alfred 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在学习 golang(初学者),我一直在 google 和 stackoverflow 上搜索,但我找不到答案,如果已经问过,请原谅,但如果 golang 中不存在,我怎么能 mkdir。
例如,在节点中,我会使用 fs-extra 和函数 ensureDirSync (当然,如果不关心阻塞的话)
fs.ensureDir("./public");
原文由 Alfred 发布,翻译遵循 CC BY-SA 4.0 许可协议
好的,由于这个 问题/答案,我明白了
import(
"os"
"path/filepath"
)
newpath := filepath.Join(".", "public")
err := os.MkdirAll(newpath, os.ModePerm)
// TODO: handle error
MkdirAll 的相关 Go 文档:
MkdirAll 创建一个名为 path 的目录,以及任何必要的父目录,并返回 nil,否则返回错误。
…
如果 path 已经是一个目录,MkdirAll 什么都不做并返回 nil。
原文由 Alfred 发布,翻译遵循 CC BY-SA 4.0 许可协议
7 回答5.6k 阅读
6 回答7.1k 阅读✓ 已解决
4 回答2.6k 阅读
2 回答1.1k 阅读✓ 已解决
1 回答2.3k 阅读
2 回答1.1k 阅读
1 回答1.1k 阅读
我遇到了两种方式:
但是,这容易受到竞争条件的影响:路径可能由其他人在
os.Stat
调用和os.Mkdir
调用之间创建。