我正在学习Golang(初学者),我已经在Google和Stackoverflow上搜索过了,但我没有找到答案,所以请原谅我已经问过了,但是如果没有Golang,我怎么能mkdir呢?

例如,在node中,我会将fs extra与函数ensureDirSync一起使用(当然,如果不考虑阻塞的话)

fs.ensureDir("./public");

推荐答案

我遇到过两种情况:

  1. 判断目录是否存在,如果不存在则创建它:

    if _, err := os.Stat(path); os.IsNotExist(err) {
        err := os.Mkdir(path, mode)
        // TODO: handle error
    }
    

但是,这容易受到竞争条件的影响:路径可能由其他人在os.Stat呼叫和os.Mkdir呼叫之间创建.

  1. try 创建目录并忽略任何问题(不建议忽略错误):

    _ = os.Mkdir(path, mode)
    

Go相关问答推荐

Go 1.22 net/http群组路由

Golang html/模板&需要错误数量的参数1在模板中使用';调用';获得0&q;

GORM Find(&;Room)操作使用空数据而不是实际数据填充 struct

切换选项卡时,Goland IDE中的光标自动转移

如何使用Gorilla WebSockets实现Http.Hijacker&;alexedwards/scs/v2

创建使用逗号而不是加号分隔OU的CSR

Golang使用Run()执行的命令没有返回

转到http服务器头内容-类型设置为多部分/表单-数据,但在客户端获取内容-类型:文本/纯文本

埃拉托塞尼筛:加快交叉关闭倍数步骤

如果values.yaml文件中不存在某个属性,如何返回默认的FALSE?

从使用Golang otelmux检测的Otel跟踪中获取trace_id

使用!NOT运算符的Golang文本/模板多个条件

Golang SDK for DynamoDB:ReturnValuesOnConditionCheckFailure在条件chcek失败发生时不返回条件的详细信息

如何用';贪婪原则';正确地

使用goroutines在Golang中验证 struct

使用Go和Operator SDK通过API调用设置Kubernetes Pods的安装步骤

设置指向空接口的指针

GqlGen - 在字段解析器中访问查询输入参数

在 GORM 中,如何在特定时区配置 autoCreateTime 和 autoUpdateTime?

如何在 GORM 中迭代一个 int 数组