load.go 693 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package config
  2. import (
  3. "fmt"
  4. "io/ioutil"
  5. "os"
  6. "path/filepath"
  7. "gopkg.in/yaml.v2"
  8. )
  9. var GlobalConfig *Config
  10. // LoadConfig 加载配置文件
  11. func LoadConfig() error {
  12. // 获取当前工作目录
  13. dir, err := os.Getwd()
  14. if err != nil {
  15. return err
  16. }
  17. // 构建配置文件路径
  18. configPath := filepath.Join(dir, "config", "config.yaml")
  19. // 读取配置文件
  20. data, err := ioutil.ReadFile(configPath)
  21. if err != nil {
  22. return fmt.Errorf("failed to read config file: %v", err)
  23. }
  24. // 解析YAML配置
  25. var config Config
  26. err = yaml.Unmarshal(data, &config)
  27. if err != nil {
  28. return fmt.Errorf("failed to unmarshal config: %v", err)
  29. }
  30. GlobalConfig = &config
  31. return nil
  32. }