Go语言通过os包提供文件与目录操作,1. 使用os.Mkdir和os.MkdirAll创建目录;2. os.Remove和os.RemoveAll删除文件或目录;3. os.Rename重命名或移动文件;4. os.Stat配合os.IsNotExist检查路径是否存在;5. os.ReadDir遍历目录内容,需始终处理error以保证程序健壮性。

Go语言通过os包提供了丰富的文件与目录操作功能,包括创建、删除、读取、重命名等。以下是一些常见操作的实用示例,帮助快速掌握基本用法。
os.Mkdir 用于创建单个目录,os.MkdirAll 可递归创建多级目录。
os.Mkdir("dir", 0755):创建权限为0755的目录,父目录必须存在。os.MkdirAll("dir/subdir", 0755):自动创建所有缺失的上级目录。示例:
err := os.MkdirAll("data/logs", 0755)
if err != nil {
log.Fatal(err)
}os.Remove 可删除文件或空目录,os.RemoveAll 可递归删除整个目录树。
立即学习“go语言免费学习笔记(深入)”;
os.Remove("file.txt"):删除指定文件。os.RemoveAll("dir"):强制删除目录及其内容,类似rm -rf。示例:
err := os.RemoveAll("temp")
if err != nil {
log.Fatal(err)
}使用 os.Rename 实现文件或目录的重命名或移动。
率先引入语言包机制,可在1小时内制作出任何语言版本,程序所有应用文字皆引自LANG目录下的语言包文件,独特的套图更换功能,三级物品分类,购物车帖心设计,在国内率先将购物车与商品显示页面完美结合,完善的商品管理,具备上架、下架缺货及特价商品设置功能多多,商城名、消费税、最低购物金额、货币符号、商城货币名称全部后台设定,多级用户考虑,管理员只需要设置用户级别、不同级别用户之返点系统自动判断用户应得返还
0
示例:
err := os.Rename("oldname.txt", "newname.txt")
if err != nil {
log.Fatal(err)
}通过 os.Stat 和 os.IsNotExist 判断路径是否存在。
os.Stat(path) 获取文件信息,若路径不存在则返回错误。os.IsNotExist(err) 判断是否为“不存在”错误。示例:
_, err := os.Stat("config.json")
if os.IsNotExist(err) {
fmt.Println("配置文件不存在")
} else if err != nil {
log.Fatal(err)
}使用 os.ReadDir(推荐)或 os.File.Readdir 读取目录内容。
os.ReadDir 返回 []fs.DirEntry,性能更好。示例:
entries, err := os.ReadDir(".")
if err != nil {
log.Fatal(err)
}
for _, entry := range entries {
if entry.IsDir() {
fmt.Printf("[DIR] %s\n", entry.Name())
} else {
fmt.Printf("[FILE] %s\n", entry.Name())
}
}以上就是Golang os文件与目录操作示例的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号