Documentation ¶
Index ¶
- Constants
- Variables
- func Apply(conf map[string]interface{}) error
- func Debug(sep string)
- func Exists(key string) bool
- func Get(key string) interface{}
- func GetBool(key string) bool
- func GetDuration(key string) time.Duration
- func GetFloat64(key string) float64
- func GetInt(key string) int
- func GetInt64(key string) int64
- func GetSlice(key string) []interface{}
- func GetString(key string) string
- func GetStringMap(key string) map[string]interface{}
- func GetStringMapString(key string) map[string]string
- func GetStringMapStringSlice(key string) map[string][]string
- func GetStringSlice(key string) []string
- func GetTime(key string) time.Time
- func LoadFromDataSource(ds DataSource, unmarshaller Unmarshaller) error
- func LoadFromReader(r io.Reader, unmarshaller Unmarshaller) error
- func OnChange(fn func(*Configuration))
- func OnLoaded(fn func(*Configuration))
- func Register(scheme string, creator DataSourceCreatorFunc)
- func Reset()
- func Set(key string, val interface{})
- func Traverse(sep string) map[string]interface{}
- func UnmarshalKey(key string, rawVal interface{}, opts ...GetOption) error
- func UnmarshalWithExpect(key string, expect interface{}) interface{}
- type Configuration
- func (c *Configuration) Get(key string) interface{}
- func (c *Configuration) GetBool(key string) bool
- func (c *Configuration) GetDuration(key string) time.Duration
- func (c *Configuration) GetFloat64(key string) float64
- func (c *Configuration) GetInt(key string) int
- func (c *Configuration) GetInt64(key string) int64
- func (c *Configuration) GetSlice(key string) []interface{}
- func (c *Configuration) GetSliceStringMap(key string) []map[string]interface{}
- func (c *Configuration) GetString(key string) string
- func (c *Configuration) GetStringMap(key string) map[string]interface{}
- func (c *Configuration) GetStringMapString(key string) map[string]string
- func (c *Configuration) GetStringMapStringSlice(key string) map[string][]string
- func (c *Configuration) GetStringSlice(key string) []string
- func (c *Configuration) GetTime(key string) time.Time
- func (c *Configuration) Load(content []byte, unmarshal Unmarshaller) error
- func (c *Configuration) LoadEnvironments(prefix string)
- func (c *Configuration) LoadFromDataSource(ds DataSource, unmarshaller Unmarshaller) error
- func (c *Configuration) LoadFromReader(reader io.Reader, unmarshaller Unmarshaller) error
- func (c *Configuration) OnChange(fn func(*Configuration))
- func (c *Configuration) OnLoaded(fn func(*Configuration))
- func (c *Configuration) Set(key string, val interface{}) error
- func (c *Configuration) SetKeyDelim(delim string)
- func (c *Configuration) Sub(key string) *Configuration
- func (c *Configuration) UnmarshalKey(key string, rawVal interface{}, opts ...GetOption) error
- func (c *Configuration) UnmarshalWithExpect(key string, expect interface{}) interface{}
- func (c *Configuration) WriteConfig() error
- type DataSource
- type DataSourceCreatorFunc
- type GetOption
- type GetOptions
- type Unmarshaller
Constants ¶
const DefaultEnvPrefix = "APP_"
Variables ¶
var ( //ErrConfigAddr 没有配置的错误 ErrConfigAddr = errors.New("没有配置... ") // ErrInvalidDataSource 定义没有注册的错误 ErrInvalidDataSource = errors.New("无效的数据源,请确保方案已注册") )
var ErrInvalidKey = errors.New("无效的key,可能在配置中不存在")
ErrInvalidKey 无效键的错误
Functions ¶
func Get ¶
func Get(key string) interface{}
Get @Description: 返回一个interface。对于特定的值,可以使用一个Get____方法 @param key @return interface{}
func GetBool ¶
GetBool @Description:以带有默认defaultConfiguration的bool形式返回与键关联的值 @param key @return bool
func GetDuration ¶
GetDuration @Description: 以Duration的形式返回与键关联的值 @param key @return time.Duration
func GetFloat64 ¶
GetFloat64 @Description: 以Float64的形式返回与键关联的值 @param key @return float64
func GetSlice ¶
func GetSlice(key string) []interface{}
GetSlice @Description: 以interface{}数组的形式返回与键关联的值 @param key @return []interface{}
func GetString ¶
GetString @Description:以带有默认defaultConfiguration的字符串形式返回与键关联的值 @param key @return string
func GetStringMap ¶
GetStringMap @Description: 以StringMap的形式返回与键关联的值 @param key @return map[string]interface{}
func GetStringMapString ¶
GetStringMapString @Description: 以map[string]string的形式返回与键关联的值 @param key @return map[string]string
func GetStringMapStringSlice ¶
GetStringMapStringSlice @Description: 以map[string][]string的形式返回与键关联的值 @param key @return map[string][]string
func GetStringSlice ¶
GetStringSlice @Description: 以String数组的形式返回与键关联的值 @param key @return []string
func LoadFromDataSource ¶
func LoadFromDataSource(ds DataSource, unmarshaller Unmarshaller) error
LoadFromDataSource @Description:如果数据源支持动态配置,则从数据源加载配置 @param ds @param unmarshaller @return error
func LoadFromReader ¶
func LoadFromReader(r io.Reader, unmarshaller Unmarshaller) error
LoadFromReader @Description:使用默认的defaultConfiguration从提供的提供程序加载配置 @param r @param unmarshaller @return error
func OnChange ¶
func OnChange(fn func(*Configuration))
OnChange @Description: 注册change回调函数 @param fn
func OnLoaded ¶
func OnLoaded(fn func(*Configuration))
func Register ¶
func Register(scheme string, creator DataSourceCreatorFunc)
Register @Description:向注册中心注册一个数据源创建器的函数 @param scheme @param creator
func UnmarshalKey ¶
UnmarshalKey @Description: 使用默认的defaultConfiguration将单个键解封到Struct中 @param key @param rawVal @param opts @return error
func UnmarshalWithExpect ¶
func UnmarshalWithExpect(key string, expect interface{}) interface{}
UnmarshalWithExpect @Description: Unmarshal键,如果失败返回expect @param key @param expect @return interface{}
Types ¶
type Configuration ¶
type Configuration struct {
// contains filtered or unexported fields
}
Configuration @Description:为应用程序提供配置
func (*Configuration) Get ¶
func (c *Configuration) Get(key string) interface{}
Get @Description:返回与键关联的值 @receiver c @param key @return interface{}
func (*Configuration) GetBool ¶
func (c *Configuration) GetBool(key string) bool
GetBool @Description: 以布尔值的形式返回与键关联的值 @receiver c @param key @return bool
func (*Configuration) GetDuration ¶
func (c *Configuration) GetDuration(key string) time.Duration
GetDuration @Description: 以Duration的形式返回与键关联的值 @receiver c @param key @return time.Duration
func (*Configuration) GetFloat64 ¶
func (c *Configuration) GetFloat64(key string) float64
GetFloat64 @Description: 以Float64的形式返回与键关联的值 @receiver c @param key @return float64
func (*Configuration) GetInt ¶
func (c *Configuration) GetInt(key string) int
GetInt @Description: 以Int的形式返回与键关联的值 @receiver c @param key @return int
func (*Configuration) GetInt64 ¶
func (c *Configuration) GetInt64(key string) int64
GetInt64 @Description: 以Int的形式返回与键关联的值 @receiver c @param key @return int64
func (*Configuration) GetSlice ¶
func (c *Configuration) GetSlice(key string) []interface{}
GetSlice @Description: 以interface{}数组的形式返回与键关联的值 @receiver c @param key @return []interface{}
func (*Configuration) GetSliceStringMap ¶
func (c *Configuration) GetSliceStringMap(key string) []map[string]interface{}
GetSliceStringMap @Description: 以[]map[string]interface{}的形式返回与键关联的值 @receiver c @param key @return []map[string]interface{}
func (*Configuration) GetString ¶
func (c *Configuration) GetString(key string) string
GetString @Description:以字符串形式返回与键关联的值 @receiver c @param key @return string
func (*Configuration) GetStringMap ¶
func (c *Configuration) GetStringMap(key string) map[string]interface{}
GetStringMap @Description: 以StringMap的形式返回与键关联的值 @receiver c @param key @return map[string]interface{}
func (*Configuration) GetStringMapString ¶
func (c *Configuration) GetStringMapString(key string) map[string]string
GetStringMapString @Description: 以map[string]string的形式返回与键关联的值 @receiver c @param key @return map[string]string
func (*Configuration) GetStringMapStringSlice ¶
func (c *Configuration) GetStringMapStringSlice(key string) map[string][]string
GetStringMapStringSlice @Description: 以map[string][]string的形式返回与键关联的值 @receiver c @param key @return map[string][]string
func (*Configuration) GetStringSlice ¶
func (c *Configuration) GetStringSlice(key string) []string
GetStringSlice @Description: 以String数组的形式返回与键关联的值 @receiver c @param key @return []string
func (*Configuration) GetTime ¶
func (c *Configuration) GetTime(key string) time.Time
GetTime @Description: 以Time的形式返回与键关联的值 @receiver c @param key @return time.Time
func (*Configuration) Load ¶
func (c *Configuration) Load(content []byte, unmarshal Unmarshaller) error
Load @Description: 加载 @receiver c @param content @param unmarshal @return error
func (*Configuration) LoadEnvironments ¶
func (c *Configuration) LoadEnvironments(prefix string)
LoadEnvironments @Description:带有前缀(如APP_ PREFIX_FIELD1_FIELD2)的操作系统的环境变量将被转换为prefix.field1.field2 @receiver c @param prefix
func (*Configuration) LoadFromDataSource ¶
func (c *Configuration) LoadFromDataSource(ds DataSource, unmarshaller Unmarshaller) error
LoadFromDataSource @Description:从数据源加载数据 @receiver c @param ds @param unmarshaller @return error
func (*Configuration) LoadFromReader ¶
func (c *Configuration) LoadFromReader(reader io.Reader, unmarshaller Unmarshaller) error
LoadFromReader @Description:从提供的数据源加载配置 @receiver c @param reader @param unmarshaller @return error
func (*Configuration) OnChange ¶
func (c *Configuration) OnChange(fn func(*Configuration))
OnChange @Description: 注册change回调函数 @receiver c @param fn
func (*Configuration) OnLoaded ¶
func (c *Configuration) OnLoaded(fn func(*Configuration))
OnLoaded @Description: @receiver c @param fn
func (*Configuration) Set ¶
func (c *Configuration) Set(key string, val interface{}) error
Set @Description: 设置配置 @receiver c @param key @param val @return error
func (*Configuration) SetKeyDelim ¶
func (c *Configuration) SetKeyDelim(delim string)
SetKeyDelim @Description:设置defaultConfiguration实例的keyDelim值 @receiver c @param delim
func (*Configuration) Sub ¶
func (c *Configuration) Sub(key string) *Configuration
Sub @Description:返回表示此实例的子树的新Configuration实例 @receiver c @param key @return *Configuration
func (*Configuration) UnmarshalKey ¶
func (c *Configuration) UnmarshalKey(key string, rawVal interface{}, opts ...GetOption) error
UnmarshalKey @Description:获取单个键并将其解组到Struct中 @receiver c @param key @param rawVal @param opts @return error
func (*Configuration) UnmarshalWithExpect ¶
func (c *Configuration) UnmarshalWithExpect(key string, expect interface{}) interface{}
UnmarshalWithExpect @Description: Unmarshal键,如果失败返回expect @receiver c @param key @param expect @return interface{}
func (*Configuration) WriteConfig ¶
func (c *Configuration) WriteConfig() error
WriteConfig @Description: 写入配置 @receiver c @return error
type DataSource ¶
type DataSource interface { ReadConfig() ([]byte, error) IsConfigChanged() <-chan struct{} io.Closer }
DataSource @Description: 数据源结构体
func NewDataSource ¶
func NewDataSource(configAddr string) (DataSource, error)
NewDataSource @Description: 新的数据源 @param configAddr @return DataSource @return error
type DataSourceCreatorFunc ¶
type DataSourceCreatorFunc func() DataSource
DataSourceCreatorFunc 表示数据源创建器的函数
type GetOption ¶
type GetOption func(o *GetOptions)
GetOption ...
func BuildinModule ¶
func TagNameJSON ¶
func TagNameJSON() GetOption
func TagNameTOML ¶
func TagNameTOML() GetOption
func TagNameYAML ¶
func TagNameYAML() GetOption
type GetOptions ¶
GetOption ...