Config.go 780 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package config
  2. import (
  3. "log"
  4. "os"
  5. "gopkg.in/yaml.v3"
  6. )
  7. var Conf Config
  8. type Config struct {
  9. Server Server `yaml:"server"`
  10. Tcp Tcp `yaml:"Tcp"`
  11. File File `yaml:"file"`
  12. }
  13. type Server struct {
  14. Port int `yaml:"port"`
  15. }
  16. type Tcp struct {
  17. Port int `yaml:"port"`
  18. }
  19. type File struct {
  20. Upload Upload `yaml:"upload"`
  21. }
  22. type Upload struct {
  23. Path string `yaml:"path"`
  24. }
  25. func ReadConfig() {
  26. // 打开并读取配置文件
  27. file, err := os.Open("file/config.yaml")
  28. if err != nil {
  29. log.Fatalf("无法打开文件: %v", err)
  30. }
  31. defer file.Close()
  32. // 创建一个 Config 变量来存储 YAML 配置内容
  33. // 解析 YAML 内容
  34. decoder := yaml.NewDecoder(file)
  35. err = decoder.Decode(&Conf)
  36. if err != nil {
  37. log.Fatalf("解析 YAML 文件失败: %v", err)
  38. }
  39. }