以下代码使用 filepath.Walk 函数遍历目录,并使用 os.Remove 删除所有文件。

package main

import (
    "fmt"
    "os"
    "path/filepath"
)

func main() {
    dirPath := "/path/to/directory"
    err := removeAllFilesInDir(dirPath)
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println("All files in directory", dirPath, "deleted successfully")
    }
}

func removeAllFilesInDir(dirPath string) error {
    err := filepath.Walk(dirPath, func(path string, info os.FileInfo, err error) error {
        if err != nil {
            return err
        }
        if !info.IsDir() {
            err = os.Remove(path)
            if err != nil {
                return err
            }
        }
        return nil
    })
    if err != nil {
        return err
    }
    return nil
}

该代码使用 filepath.Walk 函数遍历目录中的所有文件和子目录。如果遍历到的是文件,则使用 os.Remove 函数删除该文件。如果遍历到的是子目录,则不执行任何操作。最后返回删除操作的错误信息或空值(如果没有错误)。

Golang 递归删除目录:示例代码和解释

原文地址: https://www.cveoy.top/t/topic/kWvv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录