utils.go 688 B

1234567891011121314151617181920212223242526272829303132
  1. package utils
  2. import (
  3. "fmt"
  4. "os"
  5. )
  6. // CreateDirectory 尝试创建指定路径的文件夹
  7. // 如果文件夹已存在,则返回错误
  8. func CreateDirectory(path string) error {
  9. // 使用 os.Stat 检查文件夹是否存在
  10. _, err := os.Stat(path)
  11. if err == nil {
  12. // 如果文件夹已存在,返回自定义错误
  13. return fmt.Errorf("目录 %s 已存在", path)
  14. }
  15. // 如果错误不是 "文件不存在",则返回该错误
  16. if !os.IsNotExist(err) {
  17. return err
  18. }
  19. // 如果文件夹不存在,创建文件夹
  20. err = os.Mkdir(path, 0755) // 0755 表示文件夹权限
  21. if err != nil {
  22. return fmt.Errorf("创建目录 %s 失败: %v", path, err)
  23. }
  24. return nil
  25. }