Golang 基于Beego 中以配置文件操作不同的运行环境

环境

  1. 安装(略)
  2. 开发平台 Windows 7
  3. 用命令 :  bee new ApiSys  生成项目结构

常规操作

  1.  配置文件在 conf 目录中,默认是 app.conf - 这相当于是主配置文件
  2.  include 可以引入一个子配置文件
  3.  配置文件层级关系,如下 :
    appname = ApiSys
    httpport = 8080
    runmode = ${API_RUN_MODEL||dev}
    
    [dev]
    db_default_type = "mysql"
    db_default_user = "yourshadow"
    db_default_pass = "123456"
    db_default_host = "192.168.100.101"
    db_default_port = "3306"
    db_default_name  = "morseapp-data"
    api_db_name = "apimanage-data"
    
    [test]
    db_default_type = "mysql"
    db_default_user = "yourshadow"
    db_default_pass = "123456"
    db_default_host = "192.168.1.13"
    db_default_port = "3506"
    db_default_name  = "morseapp-data"
    api_db_name = "apimanage-data"
  4. 以上配置说明:
    ${API_RUN_MODEL||dev}

    表示从环境变量中读取配置,如果没有,则为 dev ; 注意: 不能有空格,否则获取的时候也有空格

    [dev]

    表示 dev 层级的配置,默认优先读取 runmode 下的配置信息,即层级名称与 runmode 一致时,会优先读取,如果后面有同名的配置,会被覆盖

  5. 对配置文件中的值获取,请查看官方文档,此处只提我用的:
    beego.AppConfig.GetSection("dev")

    返回指定层级下的配置,类型为 map

  6. 在Windows中不修改系统环境变量的情况下,通过CMD运行命令如下:
    set API_RUN_MODEL=dev&&bee run

    注意: dev 和 && 之间不能有任何符号,否则在获取的时候,会有异常哦

  7. Golang Idea  -> alt + F12 打开的就是 Windows的CMD

参考官方文档:
https://beego.me/docs/mvc/controller/config.md