Go之文件夹路径生成(先判断后生成)

背景:

        自己在开发时候使用的Log4go日志包的时候,发现在指定日志文件夹路径的时候需要先确定有该文件夹,否则会进行报错,所以我们就需要提前进行相关的文件夹创建,下面就是一个小的方案,实现运行程序的时候先进行判断,是否需要进行相关的

文件夹创建,如果查询没有该文件夹就会进行相关的创建,否则就不创建:

具体的步骤:

首先判断文件夹是否存在的方法:  如果存在就会返回true,否则返回false

//判断文件夹是否存在
func PathExists(path string) (bool, error) {
	_, err := os.Stat(path)
	if err == nil {
		return true, nil
	}
	if os.IsNotExist(err) {
		return false, nil
	}
	return false, err
}

 然后进行相关的测试:在开发中_dir中表示的是文件夹路径,一般在开发中,我们通过配置文件的方式进行获取,这样就可以进行配置了,不用写死。

func Test(t *testing.T) {
	_dir := "./conf"
	exist, err := PathExists(_dir)
	if err != nil {
		fmt.Printf("get dir error![%v]\n", err)
		return
	}
	if exist {
		fmt.Printf("has dir![%v]\n", _dir)
	} else {
		fmt.Printf("no dir![%v]\n", _dir)
		//创建文件夹
		err := os.Mkdir(_dir, os.ModePerm)
		if err != nil {
			fmt.Printf("mkdir falied[%v]\n", err)
		} else {
			fmt.Printf("mkdir success!\n")
		}
	}
}

最后测试:

=== RUN   Test
no dir![./conf]
mkdir success!
--- PASS: TestMkdir (0.00s)
PASS

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值