Golang 递归创建多级目录:检查并创建路径
可以使用 os.Stat() 函数来判断路径是否存在。如果路径不存在,则可以使用 os.MkdirAll() 函数来递归创建路径。
下面是一个示例代码:
package main
import (
"fmt"
"os"
)
func main() {
path := "/data/path/mem/new"
// 检查路径是否存在
_, err := os.Stat(path)
if err != nil {
if os.IsNotExist(err) {
// 递归创建路径
err := os.MkdirAll(path, 0755)
if err != nil {
fmt.Println("创建路径失败:", err)
return
}
fmt.Println("路径创建成功")
} else {
fmt.Println("检查路径失败:", err)
return
}
} else {
fmt.Println("路径已存在")
}
}
在上述代码中,首先使用 os.Stat() 函数检查路径是否存在。如果路径不存在,则使用 os.MkdirAll() 函数递归创建路径。os.MkdirAll() 函数的第二个参数是权限模式,这里使用了 0755 表示创建的目录具有读写执行权限。
需要注意的是,os.MkdirAll() 函数只会创建不存在的路径,如果路径已经存在,则不会执行任何操作。
原文地址: https://www.cveoy.top/t/topic/fSDL 著作权归作者所有。请勿转载和采集!