时间:2020-01-22 08:47  编辑:admin

简介

上1篇文章先容 cobra 的时分提到了 viper,古天我们便去先容1下那个库。 viper 是1个设置办理圆案,具有歉富的特征:

  • 收持 JSON/TOML/YAML/HCL/envfile/Java properties 等多种格局的设置文件;
  • 能够设置监听设置文件的建改,建改时主动减载新的设置;
  • 从情况变量、下令止选项战io.Reader中读与设置;
  • 从近程设置体系中读与战监听建改,如 etcd/Consul;
  • 代码逻辑中隐示设置键值。

快速利用

安拆:

$ go get github.com/spf13/viper
复造代码

利用:

package main

import (
  "fmt"
  "log"

  "github.com/spf13/viper"
)

func main() {
  viper.SetConfigName("config")
  viper.SetConfigType("toml")
  viper.AddConfigPath(".")
  viper.SetDefault("redis.port", 6381)
  err := viper.ReadInConfig()
  if err != nil {
    log.Fatal("read config failed: %v", err)
  }

  fmt.Println(viper.Get("app_name"))
  fmt.Println(viper.Get("log_level"))

  fmt.Println("mysql ip: ", viper.Get("mysql.ip"))
  fmt.Println("mysql port: ", viper.Get("mysql.port"))
  fmt.Println("mysql user: ", viper.Get("mysql.user"))
  fmt.Println("mysql password: ", viper.Get("mysql.password"))
  fmt.Println("mysql database: ", viper.Get("mysql.database"))

  fmt.Println("redis ip: ", viper.Get("redis.ip"))
  fmt.Println("redis port: ", viper.Get("redis.port"))
}
复造代码

我们利用之前Drupal8 逐日1库之 go-ini1文中利用的设置,没有过改成 toml 格局。 toml 的语法很简朴,快速进门请看learn X in Y minutes。

标签: Drupal 中文  

Drupal安全更新

亚艾元软件以Drupal为基础,推动Drupal的中国化、Drupal教程中文化、将Drupal与微信相结合,服务广大的中国Drupal用户。

最近Drupal安全升级频繁,亚艾元提醒Drupal用户,及时升级安全补丁。


业务联系:崔克俊
手机: 13381113196
QQ: 372948992
公司电话:010-62669785

亚艾元象棋谱


亚艾元象棋谱,是亚艾元软件的一个实验项
目,以中国象棋棋谱为实例,用来探索最新
的Drupal网站开发、微信公众号开发、微信
公小程序开发、APP开发相关技术