1. 使用库viper
使用示例
package main import ( "fmt" "github.com/spf13/viper" ) type ServerConfig struct { ServiceName string `mapstructure:"name"` Port int `mapstructure:"port"` } func main() { v := viper.New() //文件的路径如何设置 v.SetConfigFile("viper_test/ch01/config.yaml") if err := v.ReadInConfig(); err != nil { panic(err) } serverConfig := ServerConfig{} //映射给struct if err := v.Unmarshal(&serverConfig); err != nil { panic(err) } fmt.Println(serverConfig) fmt.Println(serverConfig.ServiceName) fmt.Printf("%V", v.Get("name")) }
yaml配置
name: 'user-web'
mysql:
host: '127.0.0.1'
port: 3306
2. 如何将线上和线下的配置文件隔离
需求:
//如何将线上和线下的配置文件隔离
//不用改任何代码而且线上和线上的配置文件能隔离开
实现:定义环境GetEnvInfo,通过定义环境变量来实现
标签:配置文件,err,管理,fmt,serverConfig,viper,gin,name From: https://www.cnblogs.com/wlike/p/16835809.html