蛋蛋星球RabbitMq消费项目
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 
 
 

57 rader
1.1 KiB

  1. package cfg
  2. import (
  3. "flag"
  4. "io/ioutil"
  5. "gopkg.in/yaml.v2"
  6. )
  7. // 配置文件数据,全局变量
  8. var (
  9. Debug bool
  10. Prd bool
  11. CurlDebug bool
  12. RedisAddr string
  13. RedisPassword string
  14. DB *DBCfg
  15. MQ *MQCfg
  16. Log *LogCfg
  17. ImLogicRpc *ImLogicRpcCfg
  18. )
  19. // 初始化配置文件,将cfg.yml读入到内存
  20. func InitCfg() {
  21. //用指定的名称、默认值、使用信息注册一个string类型flag。
  22. path := flag.String("c", "etc/cfg.yml", "config file")
  23. //解析命令行参数写入注册的flag里。
  24. //解析之后,flag的值可以直接使用。
  25. flag.Parse()
  26. var (
  27. c []byte
  28. err error
  29. conf *Config
  30. )
  31. if c, err = ioutil.ReadFile(*path); err != nil {
  32. panic(err)
  33. }
  34. //yaml.Unmarshal反序列化映射到Config
  35. if err = yaml.Unmarshal(c, &conf); err != nil {
  36. panic(err)
  37. }
  38. //数据读入内存
  39. Prd = conf.Prd
  40. Debug = conf.Debug
  41. CurlDebug = conf.CurlDebug
  42. DB = &conf.DB
  43. Log = &conf.Log
  44. RedisAddr = conf.RedisAddr
  45. MQ = &conf.MQ
  46. RedisPassword = conf.RedisPassword
  47. }
  48. type ImLogicRpcCfg struct {
  49. URL string `yaml:"url"`
  50. PORT string `yaml:"port"`
  51. }