栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用Golang删除目录的所有内容?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用Golang删除目录的所有内容?

编写一个简单的

RemoveContents
函数。例如,

package mainimport (    "fmt"    "os"    "path/filepath"    "strings")func RemoveContents(dir string) error {    d, err := os.Open(dir)    if err != nil {        return err    }    defer d.Close()    names, err := d.Readdirnames(-1)    if err != nil {        return err    }    for _, name := range names {        err = os.RemoveAll(filepath.Join(dir, name))        if err != nil { return err        }    }    return nil}func main() {    dir := strings.TrimSuffix(filepath.base(os.Args[0]), filepath.Ext(os.Args[0]))    dir = filepath.Join(os.TempDir(), dir)    dirs := filepath.Join(dir, `tmpdir`)    err := os.MkdirAll(dirs, 0777)    if err != nil {        fmt.Println(err)        os.Exit(1)    }    file := filepath.Join(dir, `tmpfile`)    f, err := os.Create(file)    if err != nil {        fmt.Println(err)        os.Exit(1)    }    f.Close()    file = filepath.Join(dirs, `tmpfile`)    f, err = os.Create(file)    if err != nil {        fmt.Println(err)        os.Exit(1)    }    f.Close()    err = RemoveContents(dir)    if err != nil {        fmt.Println(err)        os.Exit(1)    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/406462.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号