Documentation
¶
Overview ¶
Package config 提供统一的配置管理系统
Index ¶
- func AutoInit(appName string) error
- func Example_basic()
- func Example_listener()
- func Example_unmarshal()
- func Init(options ...Option) error
- type AppConfig
- type Configuration
- func (c *Configuration) AddChangeListener(listener func(key string))
- func (c *Configuration) AllKeys() []string
- func (c *Configuration) AllSettings() map[string]interface{}
- func (c *Configuration) Close() error
- func (c *Configuration) Get(key string) (interface{}, bool)
- func (c *Configuration) GetBool(key string) bool
- func (c *Configuration) GetDuration(key string) time.Duration
- func (c *Configuration) GetFloat(key string) float64
- func (c *Configuration) GetInt(key string) int
- func (c *Configuration) GetString(key string) string
- func (c *Configuration) GetStringMap(key string) map[string]interface{}
- func (c *Configuration) GetStringSlice(key string) []string
- func (c *Configuration) Has(key string) bool
- func (c *Configuration) Load() error
- func (c *Configuration) RemoveChangeListener(listener func(key string))
- func (c *Configuration) Set(key string, value interface{})
- func (c *Configuration) Unmarshal(key string, v interface{}) error
- type Option
- type Provider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AppConfig ¶
type AppConfig struct {
Name string `config:"name"`
Version string `config:"version"`
Debug bool `config:"debug"`
Server struct {
Port int `config:"port"`
Timeout time.Duration `config:"timeout"`
Host string `config:"host"`
} `config:"server"`
Database struct {
DSN string `config:"dsn"`
MaxConns int `config:"max_conns"`
MaxIdle int `config:"max_idle"`
} `config:"database"`
Features []string `config:"features"`
Options map[string]interface{} `config:"options"`
}
AppConfig 应用配置结构体
type Configuration ¶
type Configuration struct {
// contains filtered or unexported fields
}
Configuration 是配置管理器的实现
func (*Configuration) AddChangeListener ¶
func (c *Configuration) AddChangeListener(listener func(key string))
AddChangeListener 添加配置变更监听器
func (*Configuration) AllSettings ¶
func (c *Configuration) AllSettings() map[string]interface{}
AllSettings 获取所有配置
func (*Configuration) GetDuration ¶
func (c *Configuration) GetDuration(key string) time.Duration
GetDuration 获取时间段配置
func (*Configuration) GetFloat ¶
func (c *Configuration) GetFloat(key string) float64
GetFloat 获取浮点数配置
func (*Configuration) GetString ¶
func (c *Configuration) GetString(key string) string
GetString 获取字符串配置
func (*Configuration) GetStringMap ¶
func (c *Configuration) GetStringMap(key string) map[string]interface{}
GetStringMap 获取字符串映射配置
func (*Configuration) GetStringSlice ¶
func (c *Configuration) GetStringSlice(key string) []string
GetStringSlice 获取字符串切片配置
func (*Configuration) RemoveChangeListener ¶
func (c *Configuration) RemoveChangeListener(listener func(key string))
RemoveChangeListener 移除配置变更监听器
func (*Configuration) Unmarshal ¶
func (c *Configuration) Unmarshal(key string, v interface{}) error
Unmarshal 将配置反序列化到结构体
type Provider ¶
type Provider interface {
// Get 获取配置项的值
Get(key string) (interface{}, bool)
// GetString 获取字符串配置
GetString(key string) string
// GetInt 获取整数配置
GetInt(key string) int
// GetFloat 获取浮点数配置
GetFloat(key string) float64
// GetBool 获取布尔配置
GetBool(key string) bool
// GetDuration 获取时间段配置
GetDuration(key string) time.Duration
// GetStringSlice 获取字符串切片配置
GetStringSlice(key string) []string
// GetStringMap 获取字符串映射配置
GetStringMap(key string) map[string]interface{}
// Set 设置配置项的值
Set(key string, value interface{})
// Has 检查配置项是否存在
Has(key string) bool
// AllSettings 获取所有配置
AllSettings() map[string]interface{}
// AllKeys 获取所有配置键
AllKeys() []string
// AddChangeListener 添加配置变更监听器
AddChangeListener(listener func(key string))
// RemoveChangeListener 移除配置变更监听器
RemoveChangeListener(listener func(key string))
// Unmarshal 将配置反序列化到结构体
Unmarshal(key string, v interface{}) error
}
Provider 定义配置提供者接口
Click to show internal directories.
Click to hide internal directories.