package config import ( "github.com/go-ini/ini" "log" ) var IniConf *ini.File var ipath string type changeCallback func() var changeCallbackList = []changeCallback{} /*func init() { pwd, _ := os.Getwd() ipath = filepath.Join(pwd, "config.ini") var err error /*fs := flag.NewFlagSet("", flag.ContinueOnError) fp := fs.String("f", "", "config file path") fs.Parse(os.Args[1:]) if *fp != "" { ipath = *fp } IniConf, err = ini.Load(ipath) if err != nil { log.Fatal(err) } */ func Reload(cpath string) { if cpath == "" { cpath = ipath } iniConf, err := ini.Load(cpath) if err != nil { log.Println(err) return } else { IniConf = iniConf } for _, cb := range changeCallbackList { cb() } ipath = cpath } func RegistChangeCallback(cb changeCallback) { changeCallbackList = append(changeCallbackList, cb) }