| 1234567891011121314151617181920212223242526272829303132333435 |
- package main
- import (
- "fmt"
- "github.com/spf13/viper"
- "log"
- "time"
- )
- type database struct {
- Server string
- Ports []int
- }
- type config struct {
- Database database
- }
- func main() {
- viper.SetConfigName("example")
- viper.SetConfigType("toml")
- viper.AddConfigPath("../")
- if err := viper.ReadInConfig(); err != nil {
- log.Fatal("read config failed,err:", err)
- }
- var c config
- viper.Unmarshal(&c)
- fmt.Println(c.Database.Ports[1])
- viper.WatchConfig()
- fmt.Println("redis port before sleep: ", viper.Get("database.server"))
- time.Sleep(time.Second * 10)
- fmt.Println("redis port after sleep: ", viper.Get("database.server"))
- }
|