old_config_func.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package conf
  2. import (
  3. "strings"
  4. "git.shuncheng.lu/bigthing/gocommon/pkg/internal/util"
  5. )
  6. var (
  7. /**
  8. 唯一暴露的可变更方法 !运行对外修改
  9. */
  10. MustValue = func(section, key string, defaultVal ...string) string {
  11. switch globalDriver {
  12. case Local, Apollo:
  13. return getConfig().MustValue(section, key, defaultVal...)
  14. case Nacos:
  15. var result string
  16. // 如果nacos获取不到去本地获取,所以没有设置default
  17. if config := loadNacosConfig(); config != nil {
  18. result = config.GetString(strings.Join([]string{section, key}, "."))
  19. }
  20. // 如果远程没有,则加载本地
  21. if result == "" {
  22. return getConfig().MustValue(section, key, defaultVal...)
  23. }
  24. return result
  25. default:
  26. return ""
  27. }
  28. }
  29. )
  30. func GetString(section, key string, defaultVal ...string) string {
  31. return MustValue(section, key, defaultVal...)
  32. }
  33. func GetUint64(section, key string, defaultVal ...uint64) uint64 {
  34. value := MustValue(section, key)
  35. return util.String2Uint64(value, defaultVal...)
  36. }
  37. func GetInt64(section, key string, defaultVal ...int64) int64 {
  38. value := MustValue(section, key)
  39. return util.String2Int64(value, defaultVal...)
  40. }
  41. func GetFloat64(section, key string, defaultVal ...float64) float64 {
  42. value := MustValue(section, key)
  43. return util.String2Float64(value, defaultVal...)
  44. }
  45. func GetBool(section, key string, defaultVal ...bool) bool {
  46. value := MustValue(section, key)
  47. return util.String2Bool(value, defaultVal...)
  48. }