package config import ( "eta/eta_mini_ht_api/common/contants" "sync" ) var ( etaOnce sync.Once etaConfig *ETAConfig ) type ETAOpts struct { DBUrl string } type ETAConfig struct { BaseConfig opts ETAOpts } func (r *ETAConfig) GetDBUrl() string { return r.opts.DBUrl } func (r *ETAConfig) InitConfig() { opts := ETAOpts{ DBUrl: r.GetString("database.url"), } r.opts = opts } func NewETAConfig() Config { if etaConfig == nil { etaOnce.Do(func() { etaConfig = &ETAConfig{ BaseConfig: BaseConfig{prefix: contants.ETA}, opts: ETAOpts{}, } }) } return etaConfig } func init() { Register(contants.ETA, NewETAConfig) }