Go语言通过os包实现文件与目录管理,1. 使用os.Mkdir和os.MkdirAll创建单层或多级目录;2. os.Remove删除文件或空目录,os.RemoveAll删除非空目录;3. os.Rename用于重命名或移动文件/目录;4. os.Stat获取文件信息,如大小、权限、修改时间等;5. 通过os.Stat结合os.IsNotExist判断路径是否存在。配合错误处理可满足多数场景需求。

Go语言通过os包提供了丰富的文件与目录管理功能,可以方便地进行创建、删除、重命名、读取信息等操作。以下是一些常见的使用示例,帮助你快速掌握os包在文件和目录管理中的基本用法。
1. 创建目录
使用os.Mkdir或os.MkdirAll可以创建单个或嵌套目录。
示例:
- os.Mkdir("mydir", 0755):创建名为mydir的目录,权限为0755(需确保父目录存在)
- os.MkdirAll("path/to/nested", 0755):递归创建多级目录,即使中间路径不存在也会自动创建
2. 删除文件或目录
使用os.Remove删除单个文件或空目录,os.RemoveAll可删除非空目录及其内容。
立即学习“go语言免费学习笔记(深入)”;
示例:
- os.Remove("file.txt"):删除指定文件
- os.RemoveAll("mydir"):删除整个目录(包括子文件和子目录),慎用
3. 重命名或移动文件/目录
使用os.Rename实现文件或目录的重命名或移动。
注意:源路径必须存在,目标路径不能已存在(否则会报错)。
该系统采用VS2005+SQL2000+Extjs2.0开发由于学extjs 一月不到 属初学者,项目有很多不足地方请见谅(注释不标准按自己想法随意注释了一下)数据库脚本:压缩包目录下.DB.sql便是该项目为双用户:管理员 与营业员 角色登陆显示不同信息数据库方面一小部分功能运用存储过程或者直接附加DB_51aspx下Sql数据库文件
示例:
- os.Rename("oldname.txt", "newname.txt"):重命名文件
- os.Rename("dir1", "dir2"):重命名目录
- 也可用于移动文件:os.Rename("src/file.txt", "dst/file.txt")
4. 获取文件或目录信息
使用os.Stat获取文件或目录的详细信息(如大小、权限、修改时间等)。
示例:
- info, err := os.Stat("myfile.txt")
- 通过info.IsDir()判断是否为目录
- info.Size()获取文件大小(字节)
- info.Mode()获取权限信息
- info.ModTime()获取最后修改时间
5. 检查文件或目录是否存在
Go标准库没有直接提供Exists函数,但可通过os.Stat和错误判断实现。
示例函数:
func exists(path string) bool {
_, err := os.Stat(path)
return !os.IsNotExist(err)
}
该函数在路径存在时返回true,无论是文件还是目录。
基本上就这些常用操作。os包结合error处理,能覆盖大多数文件系统管理需求,写脚本或服务初始化时非常实用。注意权限和平台兼容性即可。不复杂但容易忽略细节。









