多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] **Beego**目前支持INI、XML、JSON、YAML格式的配置文件解析,也支持以etcd作为远程配置中心。 默认采用INI格式解析。 ## 1.初始化 * 使用`config.xxxx`:依赖于全局配置实例 * 使用`Configer`实例 ### 全局实例 Beego默认解析conf/app.conf文件。 ~~~ package main import ( "github.com/beego/beego/v2/core/config" "github.com/beego/beego/v2/core/logs" ) func main() { s, _ := config.String("appname") logs.Info(s) } ~~~ 指定配置文件的类型,如使用json,使用匿名引入: ~~~ var configFile = "./conf.json" config.InitGlobalInstance("json", "configFile") ~~~ ### 使用Configer实例 如果是读取多个配置文件或者使用自定义的配置实例: ~~~ package main import ( "github.com/beego/beego/v2/core/config" "github.com/beego/beego/v2/core/logs" ) func main() { configer, err := config.NewConfig("ini", "conf.ini") if err != nil { logs.Error(err) } s, _ := configer.String("name") logs.Info(s) } ~~~ ## 2.支持环境变量 如果环境变量中`ProRunMode`和`ProPort`有值,则`runmode` 和`httpport` 使用的环境变量的值,否则使用"dev"和"9090" ~~~ runmode = "${ProRunMode||dev}" httpport = "${ProPort||9090}" ~~~ ## 3.支持的格式 ### INI格式 INI是默认格式,支持include方式,加载多个配置文件。 app.ini: ~~~ appname = test httpaddr = "127.0.0.1" httpport = 9090 include "app2.ini" ~~~ app2.ini: ~~~ runmode ="dev" autorender = false recoverpanic = false viewspath = "myview" [dev] httpport = 8080 [prod] httpport = 8088 [test] httpport = 8888 ~~~