Golang 检查并创建目录:os.Stat 和 os.Mkdir 实战指南
Golang 检查并创建目录:os.Stat 和 os.Mkdir 实战指南
在 Go 语言编程中,经常需要检查目录是否存在,并在不存在的情况下创建目录。Go 语言标准库提供了 os.Stat 和 os.Mkdir 函数来帮助我们完成这些操作。
使用 os.Stat 检查目录是否存在
os.Stat 函数用于获取文件或目录的信息。如果传入的路径存在,它将返回一个 FileInfo 结构体,否则返回一个错误。我们可以通过检查返回的错误类型来判断目录是否存在。gopackage main
import ( 'fmt' 'os')
func main() { dir := '/path/to/directory'
// 判断目录是否存在 _, err := os.Stat(dir) if os.IsNotExist(err) { fmt.Println('目录不存在:', dir) } else { fmt.Println('目录已存在:', dir) }}
使用 os.Mkdir 创建目录
如果目录不存在,可以使用 os.Mkdir 函数来创建目录。os.Mkdir 函数接受两个参数:
name: 要创建的目录路径。*perm: 目录的权限模式,例如 0755 表示拥有者具有读、写、执行权限,组用户和其它用户具有读和执行权限。gopackage main
import ( 'fmt' 'os')
func main() { dir := '/path/to/directory'
// 创建目录,权限设置为 0755 err := os.Mkdir(dir, 0755) if err != nil { fmt.Println('创建目录失败:', err) return }
fmt.Println('创建目录成功:', dir)}
结合 os.Stat 和 os.Mkdir
通常情况下,我们会先使用 os.Stat 检查目录是否存在,如果不存在再使用 os.Mkdir 创建目录。gopackage main
import ( 'fmt' 'os')
func main() { dir := '/path/to/directory'
// 判断目录是否存在 _, err := os.Stat(dir) if os.IsNotExist(err) { // 目录不存在,创建目录 err := os.Mkdir(dir, 0755) if err != nil { fmt.Println('创建目录失败:', err) return } fmt.Println('创建目录成功:', dir) } else { fmt.Println('目录已存在:', dir) }}
总结
通过 os.Stat 和 os.Mkdir 函数,我们可以方便地在 Go 语言中检查和创建目录。请根据实际情况设置目录权限,确保应用程序的安全性。
原文地址: https://www.cveoy.top/t/topic/fPHW 著作权归作者所有。请勿转载和采集!