mkdir если не существует, используя golang

Я изучаю голанг (Новичок), и я искал как в google, так и в stackoverflow, но я не мог найти ответ, поэтому извините меня, если меня уже спросили, но как я могу mkdir, если не существует в голанге.

например, в узле я бы использовал fs-extra с функцией ensureDirSync (если блокировка не имеет никакого отношения, конечно)

fs.ensureDir("./public");

3 ответов


я столкнулся с двумя способами:

  1. проверить существование каталога и создайте его если он не существует:

    if _, err := os.Stat(path); os.IsNotExist(err) {
        os.Mkdir(path, mode)
    }
    
  2. попытка создать каталог и игнорировать любые вопросы:

    _ = os.Mkdir(path, mode)
    

хорошо, я понял это благодаря этому вопрос/ответ

import(
    "os"
    "path/filepath"
)

newpath := filepath.Join(".", "public")
os.MkdirAll(newpath, os.ModePerm)

можно использовать os.Stat чтобы проверить, существует ли заданный путь.
Если это не так, вы можете использовать os.Mkdir создать ее.