新西兰服务器

Golang怎么实现文件夹的创建与删除


Golang怎么实现文件夹的创建与删除

发布时间:2022-05-25 17:32:07 来源:高防服务器网 阅读:54 作者:iii 栏目:开发技术

本文小编为大家详细介绍“Golang怎么实现文件夹的创建与删除”,内容详细,步骤清晰,细节处理妥当,希望这篇“Golang怎么实现文件夹的创建与删除”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

创建文件夹

创建文件夹的时候往往要先判断文件夹是否存在。

样例代码如下

package main     import (  	"bufio"  	"fmt"  	"io"  	"os"  )     //判断文件夹是否存在  func HasDir(path string) (bool, error) {  	_, _err := os.Stat(path)  	if _err == nil {  		return true, nil  	}  	if os.IsNotExist(_err) {  		return false, nil  	}  	return false, _err  }     //创建文件夹  func CreateDir(path string) {  	_exist, _err := HasDir(path)  	if _err != nil {  		fmt.Printf("获取文件夹异常 -> %vn", _err)  		return  	}  	if _exist {  		fmt.Println("文件夹已存在!")  	} else {  		err := os.Mkdir(path, os.ModePerm)  		if err != nil {  			fmt.Printf("创建目录异常 -> %vn", err)  		} else {  			fmt.Println("创建成功!")  		}  	}  }     func main() {  	CreateDir("./output")  }

执行结果

创建成功!

Process finished with the exit code 0

注意

1、其中os.ModePerm主要是对创建文件夹的授权,了解linux的会比较熟悉。

其中 ModePerm FileMode = 0777,也就是最高权限,可读可写可执行。

也可以直接使用os.FileMode(644).String()。

删除文件和文件夹

使用os.Remove方法来删除文件,使用os.RemoveAll方法来删除文件夹。

可以看一下RemoveAll的内部实现,整体上就是遍历和递归操作。

样例代码如下

//删除文件  func RemoveFile(path string) error {  	_err := os.Remove(path)  	return _err  }     //删除文件夹  func RemoveDir(path string) error {  	_err := os.RemoveAll(path)  	return _err  }

读到这里,这篇“Golang怎么实现文件夹的创建与删除”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注高防服务器网行业资讯频道。

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[