登录
首页 >  Golang >  Go问答

如何在Golang中创建包含嵌套目录的路径

来源:stackoverflow

时间:2024-03-10 10:00:27 405浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《如何在Golang中创建包含嵌套目录的路径》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

正如 godocs 中提到的,os.create() 在特定路径中创建一个文件。

os.create("fonts/foo/font.eot")

但是当fontsfoo不存在时,返回panic: open fonts/foo/font.eot: 系统找不到指定的路径。

所以我使用 os.mkdirall() 创建嵌套目录。但这个功能还有很多其他问题。

path := "fonts/foo/font.eot"
// this line create a directory named (font.eot) !
os.MkdirAll(path, os.ModePerm)

有没有更好的方法在嵌套目录中创建文件?


解决方案


标准方法是这样的:

func create(p string) (*os.File, error) {
    if err := os.MkdirAll(filepath.Dir(p), 0770); err != nil {
        return nil, err
    }
    return os.Create(p)
}

一些注意事项:

  • os.create 不会出现问题中所述的恐慌。
  • 从文件路径的目录部分而不是完整路径创建目录。

今天关于《如何在Golang中创建包含嵌套目录的路径》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>