Golang 删除指定目录及其内容:完整指南与示例代码
Golang 删除指定目录及其内容:完整指南与示例代码
本指南将指导您如何使用 Golang 删除指定目录及其所有文件和子目录。我们将提供完整示例代码,并解释每个步骤的逻辑。
步骤:
- 判断目录是否存在: 使用
os.Stat()函数检查目标目录是否存在。如果不存在,则直接返回。 - 递归遍历目录: 使用
os.ReadDir()函数读取目录中的所有文件和子目录。对于每个子目录,递归调用删除函数。 - 删除文件: 使用
os.Remove()函数删除每个文件。 - 删除目录: 最后,删除目标目录本身。
示例代码:
package main
import (
"fmt"
"os"
)
func main() {
dir := "/path/to/directory"
if _, err := os.Stat(dir); os.IsNotExist(err) {
fmt.Println("Directory does not exist")
return
}
deleteFiles(dir)
}
func deleteFiles(dir string) error {
files, err := os.ReadDir(dir)
if err != nil {
return err
}
for _, file := range files {
if file.IsDir() {
// 递归删除子目录
if err := deleteFiles(dir + "/" + file.Name()); err != nil {
return err
}
} else {
// 删除文件
if err := os.Remove(dir + "/" + file.Name()); err != nil {
return err
}
}
}
// 删除目录
if err := os.Remove(dir); err != nil {
return err
}
return nil
}
注意:
- 该代码会直接删除指定目录下的所有文件和子目录,请谨慎使用。
- 建议您在实际使用之前进行测试,以确保代码正常运行。
相关资源:
原文地址: https://www.cveoy.top/t/topic/jlFJ 著作权归作者所有。请勿转载和采集!