📌  相关文章
📜  golang 如果不存在则创建文件夹 - Go 编程语言 - Go 编程语言(1)

📅  最后修改于: 2023-12-03 15:31:02.004000             🧑  作者: Mango

Golang 如果不存在则创建文件夹

在 Golang 中,我们经常需要操作文件和文件夹。在创建文件或文件夹时,有时可能需要判断文件或文件夹是否已经存在。如果不存在则需要创建文件夹。本文将介绍如何在 Golang 中创建文件夹并判断是否已经存在。

创建文件夹

在 Golang 中,使用 os 包的 Mkdir 方法可以创建文件夹。

package main

import "os"

func main() {
    err := os.Mkdir("path/to/folder", 0755)
    if err != nil {
        panic(err)
    }
}

其中,"path/to/folder" 是要创建的文件夹的路径, 0755 是权限,表示该文件夹的所有者拥有读、写和执行权限,其他用户只有读和执行权限。如果文件夹已经存在,则会返回错误,因此我们需要在创建文件夹之前先判断该文件夹是否已经存在。

判断文件夹是否存在

在 Golang 中,使用 os 包的 Stat 方法可以判断文件或文件夹是否存在。对于文件夹,我们可以判断 os.Stat 返回的 err 是否等于 nil

package main

import "os"

func PathExist(path string) (bool, error) {
    _, err := os.Stat(path)
    if err == nil {
        return true, nil
    }
    if os.IsNotExist(err) {
        return false, nil
    }
    return false, err
}

func main() {
    path := "path/to/folder"
    exist, err := PathExist(path)
    if err != nil {
        panic(err)
    }
    if !exist {
        err := os.Mkdir(path, 0755)
        if err != nil {
            panic(err)
        }
        println("Folder created successfully")
    }
}

上面的代码中, PathExist 方法用于判断文件夹是否存在,如果存在则返回 true,否则返回 false 和错误信息。如果文件夹不存在,则创建文件夹,并输出"Folder created successfully"。

结论

在 Golang 中,我们可以使用 os 包中的 Mkdir 方法和 Stat 方法分别创建和判断文件夹是否存在。如果文件夹不存在,则可以使用 Mkdir 方法创建,如果存在,则可以直接使用已经存在的文件夹。