new_config_func.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package conf
  2. import (
  3. "strings"
  4. "git.shuncheng.lu/bigthing/gocommon/pkg/internal/util"
  5. )
  6. /**
  7. 兼容旧逻辑:key 通过.分开,第一个是selection,第二个是key
  8. 兼容新逻辑:key 是通过 selection.key 连接起来即可
  9. */
  10. func GetStringV2(key string, defaultVal ...string) string {
  11. split := strings.Split(key, ".")
  12. if len(split) < 2 {
  13. if defaultVal != nil && len(defaultVal) > 0 {
  14. return defaultVal[0]
  15. }
  16. return ""
  17. }
  18. return MustValue(split[0], strings.Join(split[1:], "."), defaultVal...)
  19. }
  20. func GetUint64V2(key string, defaultVal ...uint64) uint64 {
  21. value := GetStringV2(key)
  22. return util.String2Uint64(value, defaultVal...)
  23. }
  24. func GetInt64V2(key string, defaultVal ...int64) int64 {
  25. value := GetStringV2(key)
  26. return util.String2Int64(value, defaultVal...)
  27. }
  28. func GetFloat64V2(key string, defaultVal ...float64) float64 {
  29. value := GetStringV2(key)
  30. return util.String2Float64(value, defaultVal...)
  31. }
  32. func GetBoolV2(key string, defaultVal ...bool) bool {
  33. value := GetStringV2(key)
  34. return util.String2Bool(value, defaultVal...)
  35. }