import (
"fmt"
"time"
"github.com/jinzhu/configor"
)
var Config = struct {
APPName string `default:"app name"`
DB struct {
Name string
User string `default:"root"`
Password string `required:"true" env:"DBPassword"`
Port uint `default:"3306"`
}
Contacts []struct {
Name string
Email string `required:"true"`
}
}{}
func main() {
configor.New(&configor.Config{AutoReload: true, AutoReloadInterval: 100 * time.Millisecond}).Load(&Config, "config.yml")
go func() {
for {
time.Sleep(50 * time.Millisecond)
fmt.Printf("config.DB: %v\n", &Config.DB)
}
}()
time.Sleep(5 * time.Second)
}
Reproducible Example
Description