📅  最后修改于: 2023-12-03 15:31:02.004000             🧑  作者: Mango
在 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
方法创建,如果存在,则可以直接使用已经存在的文件夹。