main.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package main
  2. import (
  3. "fmt"
  4. "github.com/nacos-group/nacos-sdk-go/clients"
  5. "github.com/nacos-group/nacos-sdk-go/common/constant"
  6. "github.com/nacos-group/nacos-sdk-go/vo"
  7. "github.com/spf13/viper"
  8. "log"
  9. "strings"
  10. )
  11. func main() {
  12. //创建 ServerConfig
  13. serverConfigs := []constant.ServerConfig{
  14. {
  15. IpAddr: "127.0.0.1",
  16. Port: 8848,
  17. },
  18. }
  19. //创建 ClientConfig
  20. clientConfig := constant.ClientConfig{
  21. NamespaceId: "36a76206-1dec-4fb7-aa7f-dc49314e7963", //we can create multiple clients with different namespaceId to support multiple namespace.When namespace is public, fill in the blank string here.
  22. TimeoutMs: 5000,
  23. NotLoadCacheAtStart: true,
  24. LogLevel: "debug",
  25. }
  26. //创建 Client
  27. nacosClient, err := clients.NewConfigClient(
  28. vo.NacosClientParam{
  29. ClientConfig: &clientConfig,
  30. ServerConfigs: serverConfigs,
  31. },
  32. )
  33. if err != nil {
  34. log.Fatal("nacos初始化错误:", err)
  35. }
  36. //读取配置
  37. content, err := nacosClient.GetConfig(vo.ConfigParam{DataId: "dev001", Group: "DEFAULT_GROUP"})
  38. if err != nil {
  39. log.Fatalln("nacos读取配置错误:" + content)
  40. }
  41. //viper解析配置文件
  42. var defaultConfig *viper.Viper
  43. defaultConfig = viper.New()
  44. defaultConfig.SetConfigType("toml")
  45. err = defaultConfig.ReadConfig(strings.NewReader(content))
  46. if err != nil {
  47. log.Fatalln("viper解析配置失败:", err)
  48. }
  49. //获取解析出的配置文件的内容
  50. port := defaultConfig.GetString("server.port")
  51. fmt.Println("the config port:", port)
  52. }