简单地读取不同环境的配置, 目前仅限于YAML
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
882 B

  1. package grconfig
  2. import (
  3. "fmt"
  4. "testing"
  5. )
  6. func TestNew(t *testing.T) {
  7. type Dsn struct {
  8. User string `yaml:"user"`
  9. Pass string `yaml:"pass"`
  10. Host string `yaml:"host"`
  11. Port int `yaml:"port"`
  12. Name string `yaml:"name"`
  13. Driver string `yaml:"driver"`
  14. Prefix string `yaml:"prefix"`
  15. }
  16. var items = make(map[string]*Dsn)
  17. // 一级
  18. gr := New("conf/")
  19. fmt.Println(gr.Item("db", &items))
  20. fmt.Printf("%+v\n", items["default"])
  21. // 二级
  22. a := new(Dsn)
  23. gr.Item("db.default", &a)
  24. fmt.Printf("%+v\n", a)
  25. // 解释字符串
  26. fmt.Println("直接解释字符串", gr.String("db.default.host"))
  27. // item形式解释符串
  28. var s string
  29. gr.Item("db.default.host", &s)
  30. fmt.Println("item形式解释符串:", s)
  31. // 根解释字符串
  32. fmt.Println("根解释字符串", gr.String("db"))
  33. fmt.Println("二级解释字符串", gr.String("db.default"))
  34. }