Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [yerden@fourier test]$ cat main.go
- package main
- import (
- "flag"
- "github.com/davecgh/go-spew/spew"
- "github.com/spf13/viper"
- )
- type Redis struct {
- Enabled bool `mapstructure:"enabled"`
- Network, Addr string
- DbIndex, ScanCount int
- }
- type Config struct {
- Redis []Redis `mapstructure:"redis"`
- }
- var cfgFile = flag.String("cfg", "./config.yml", "Specify config file path")
- func main() {
- v := viper.New()
- v.SetConfigFile(*cfgFile)
- if err := v.ReadInConfig(); err != nil {
- panic(err)
- }
- var config Config
- if err := v.UnmarshalKey("redis", &config.Redis); err != nil {
- panic(err)
- }
- spew.Dump(&config.Redis)
- }
- [yerden@fourier test]$ cat config.yml
- redis:
- - enabled: true
- network: tcp
- addr: "192.168.101.23:7777"
- dbindex: 0
- scancount: 200
- - enabled: false
- network: udp
- addr: "10.1.1.1:1233"
- dbindex: 1
- scancount: 123
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement