Go语言通过os包提供文件操作支持:os.Create()创建文件并写入内容,os.Remove()和os.RemoveAll()分别删除文件/空目录及递归删除目录树,os.Rename()重命名或移动文件/目录;需注意错误处理、路径合法性、权限及符号链接行为。
Go 语言通过 os 包提供了对操作系统文件操作的底层支持,包括创建、删除和重命名文件。这些操作简洁直接,但需注意错误处理、路径合法性及权限问题。
使用 os.Create() 可创建新文件(若已存在则清空内容),返回 *os.File 和 error。推荐搭配 defer file.Close() 确保资源释放。
os.Create("path/to/file.txt") 即可file.WriteString() 或 io.WriteString()
os.MkdirAll(dir, 0755) 创建父目录os.Remove() 删除单个文件或空目录;os.RemoveAll() 递归删除整个目录树(含非空目录)。
os.Remove("old
.log") —— 删除文件或空文件夹os.RemoveAll("temp/") —— 彻底删除目录及其所有子项os.Stat() 检查目标是否存在,避免误删或 panicos.Rename() 可用于重命名文件/目录,也支持跨目录移动(在同文件系统下有效)。
os.Rename("old.txt", "new.txt") —— 同目录重命名os.Rename("data/log.txt", "archive/log.txt") —— 移动并可改名所有 os 文件操作都返回 error,不可忽略。路径应使用 filepath.Join() 拼接,避免硬编码斜杠;Windows/Linux 路径差异由标准库自动处理。
if err != nil { log.Fatal(err) }
*os.File