golang- 实现多环境配置

需要安装插件

go get gopkg.in/yaml.v3

配置yaml 文件

 

 然后配置数据块与yaml结构相同,用来接收数据,字段需要配置映射关系,如下

完整的执行代码如下

// 初始化yaml文件
func doYaml() {
    envName := ParamsObj.Env
    if StringUtil.IsEmpty(envName) {
        envName = "dev"
        ParamsObj.Env = envName
    }
    //配置文件
    configFile, err := os.ReadFile(resources + envName + ".yaml")
    if err != nil {
        //打印报错后停止程序
        log.Fatal("读取配置文件错误!", err)
    }
    //读取
    err = yaml.Unmarshal(configFile, &Config)
    if err != nil {
        //打印报错后停止程序
        log.Fatal("读取配置内容错误!", err)
    }

    kk, _ := jsonUtil.ToJson(Config)
    println("解析出的配置参数:")
    println(kk)
}

 

err = yaml.Unmarshal(configFile, &Config) 里面的 Config这个值,需要定义好,作为全局变量

 

 

 

posted @ 2024-05-14 16:05  岑惜  阅读(146)  评论(0)    收藏  举报