1. 创建目录
Go 语言中可以使用 os.Mkdir
和 os.MkdirAll
方法来创建文件夹。
os.Mkdir
用于创建单层目录。如果目录已存在或路径无效,会返回错误。
os.MkdirAll
用于创建多层目录,它会自动创建不存在的父级目录。
示例代码:创建目录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| package main
import ( "fmt" "os" )
func main() { err := os.Mkdir("exampleDir", 0755) if err != nil { fmt.Println("创建目录失败:", err) return } fmt.Println("目录创建成功")
err = os.MkdirAll("parentDir/childDir", 0755) if err != nil { fmt.Println("创建多层目录失败:", err) } else { fmt.Println("多层目录创建成功") } }
|
2. 删除目录
删除目录可以使用 os.Remove
和 os.RemoveAll
。
os.Remove
仅删除单个空目录或文件。
os.RemoveAll
用于删除包含内容的目录,通常用于清理临时文件夹。
示例代码:删除目录
1 2 3 4 5 6 7 8 9 10 11 12 13
| err := os.Remove("exampleDir") if err != nil { fmt.Println("删除目录失败:", err) } else { fmt.Println("目录删除成功") }
err = os.RemoveAll("parentDir") if err != nil { fmt.Println("删除多层目录失败:", err) } else { fmt.Println("多层目录删除成功") }
|
3. 修改和检查权限
在创建文件或文件夹时,我们可以设置权限。例如 0755
表示所有者有读写执行权限,
而组和其他用户只有读取和执行权限。
可以使用 os.Chmod
来修改文件或目录的权限。
示例代码:权限控制
1 2 3 4 5 6 7 8 9 10 11 12 13
| file, err := os.Create("example.txt") if err != nil { fmt.Println("创建文件失败:", err) return } defer file.Close()
err = os.Chmod("example.txt", 0644) if err != nil { fmt.Println("修改权限失败:", err) } else { fmt.Println("权限修改成功") }
|
示例代码:检查权限
我们可以使用 os.Stat
获取文件信息,从而检查权限。
1 2 3 4 5 6 7
| info, err := os.Stat("example.txt") if err != nil { fmt.Println("获取文件信息失败:", err) return } fmt.Printf("文件权限: %o ", info.Mode().Perm())
|
4. 实用技巧
- 递归删除:
os.RemoveAll
可用于递归删除,但请小心使用,避免误删重要数据。
- 权限设置:合理的权限设置可以提高应用的安全性。
- 检查目录是否存在:使用
os.Stat
来检查目录是否存在,以避免重复创建。