首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Golang-配置管理Viper

Viper简介 Viper 是一个完整的 Go 应用程序配置解决方案,优势就在于开发项目中你不必去操心配置文件的格式而是让你腾出手来专注于项目的开发。...其特性如下: 支持 JSON/TOML/YAML/HCL/envfile/Java properties 等多种格式的配置文件 可以设置监听配置文件的修改,修改时自动加载新的配置 从环境变量、命令行选项和...或者只需要一部分配置时,比如解析到struct可以用UnmarshalKey,其实redis就是Key指的是对应的redis配置的父节点。...(bytes.NewBuffer(yamlDemo)) viper.Get("name") //获取到的值是zhangsan io.Reader读取配置,Viper.Set将设置并覆盖配置值 监听读取配置...运行时动态读取更新配置能力是非常方便的,如果不能动态更新配置,那么线上的服务要修改某个配置就不得不重启服务,Viper支持在程序运行时动态的监听配置

94440

Golang生态:使用viper管理配置

配置管理 通过配置,我们可以动态地改变程序的行为,常用的方式包括配置文件,命令行参数,环境变量等。...我原来一直很欣赏ssh的配置管理方式: 每一个配置项都有一个默认值 这些默认值可以配置文件(/etc/ssh/ssh_config)中修改 每个配置项都可以通过命令行参数临时覆盖 一直以来笔者都希望在自己的项目中实现类似的功能...在研究Golang周边生态时,我发现了viper(https://github.com/spf14/viper)这个全面的配置解决方案,它提供的比我能想到的还要多: 支持多种配置文件格式,包括 JSON...,TOML,YAML,HECL,envfile,甚至还包括Java properties 支持为配置项设置默认值 可以通过命令行参数覆盖指定的配置项 支持参数别名 viper按照这个优先级(从高到低)获取配置项的取值.../config.yaml' Global.Source: 'config(local)' 环境变量 云原生的12要素里面有一条是“在环境中存储配置“, 在配置文件的基础上,我们还可以用环境变量来覆盖,甚至是完全代替配置文件

4.6K30

手把手带你进行Golang环境配置

前言 大家好,我是星期八,是一个每天都要在镜子前给自己梳仅剩三根头发的三年码农 本次我们来安排一下如何在win平台上配置Go语言开发环境。...整体来说,Go配置环境还是挺轻松的,和Python差不多,并且会自动添加环境变量。...下载地址 Go官方镜像站点: https://golang.google.cn/dl/ 选择默认的最高版本就好,Go代码向下兼容,版本之间的差异并无所谓 ? 安装 1、找到下载好的安装文件。 ?...注:由于已经是1.11+版本,我们以后使用go mod进行管理依赖,不需要配置GOPATH等奇怪的东西。 配置GOPROXY(代理) 可能我们需要借用Go下载一些包什么的。...但是默认官网源,GOPROXY=https://proxy.golang.org,direct,在国内访问不到 输入go env查看Go配置 ?

73730
领券