package core import ( "gopkg.in/yaml.v2" ) // BaseConfig 基础配置(所有子配置继承) type BaseConfig struct{} // LoadFromYAML 从YAML数据加载 func (b *BaseConfig) LoadFromYAML(data map[string]interface{}, target interface{}) error { // 转换为yaml字节 yamlBytes, err := yaml.Marshal(data) if err != nil { return err } // 解析到目标结构体 return yaml.Unmarshal(yamlBytes, target) } // GetRegisteredConfig 获取注册的配置实例(避免名称冲突) func GetRegisteredConfig(name string) ConfigLoader { return registry[name] } // GetAllRegisteredConfigs 获取所有注册的配置 func GetAllRegisteredConfigs() map[string]ConfigLoader { return registry }