package intimate import ( "errors" "io/ioutil" "os" "gopkg.in/yaml.v2" ) // InitConfig 初始化配置加载 config.yaml(yml) var InitConfig *Config func init() { InitConfig = &Config{} InitConfig.Load() // storeOpenrec = NewStore() } // Config 配置 type Config struct { Database struct { URI string `yaml:"uri"` // "user:password@/dbname" } `yaml:"database"` } // Load 加载yaml/yml配置 func (conifg *Config) Load() { configfile := "./config.yaml" if _, err := os.Stat(configfile); os.IsNotExist(err) { configfile = "./config.yml" if _, err := os.Stat(configfile); os.IsNotExist(err) { panic(errors.New("config.yaml or config.yml is not exists")) } } f, err := os.Open(configfile) if err != nil { panic(err) } data, err := ioutil.ReadAll(f) if err != nil { panic(err) } err = yaml.Unmarshal(data, conifg) if err != nil { panic(err) } }