Documentation ¶
Overview ¶
Package config is used to parse config. Usage:
import "github.com/augutoma/beegonew/config"
Examples.
cnf, err := config.NewConfig("ini", "config.conf") cnf APIS: cnf.Set(key, val string) error cnf.String(key string) string cnf.Strings(key string) []string cnf.Int(key string) (int, error) cnf.Int64(key string) (int64, error) cnf.Bool(key string) (bool, error) cnf.Float(key string) (float64, error) cnf.DefaultString(key string, defaultVal string) string cnf.DefaultStrings(key string, defaultVal []string) []string cnf.DefaultInt(key string, defaultVal int) int cnf.DefaultInt64(key string, defaultVal int64) int64 cnf.DefaultBool(key string, defaultVal bool) bool cnf.DefaultFloat(key string, defaultVal float64) float64 cnf.DIY(key string) (interface{}, error) cnf.GetSection(section string) (map[string]string, error) cnf.SaveConfigFile(filename string) error
More docs http://beego.me/docs/module/config.md
Index ¶
- func ExpandValueEnv(value string) (realValue string)
- func ExpandValueEnvForMap(m map[string]interface{}) map[string]interface{}
- func ParseBool(val interface{}) (value bool, err error)
- func Register(name string, adapter Config)
- func ToString(x interface{}) string
- type Config
- type Configer
- type IniConfig
- type IniConfigContainer
- func (c *IniConfigContainer) Bool(key string) (bool, error)
- func (c *IniConfigContainer) DIY(key string) (v interface{}, err error)
- func (c *IniConfigContainer) DefaultBool(key string, defaultval bool) bool
- func (c *IniConfigContainer) DefaultFloat(key string, defaultval float64) float64
- func (c *IniConfigContainer) DefaultInt(key string, defaultval int) int
- func (c *IniConfigContainer) DefaultInt64(key string, defaultval int64) int64
- func (c *IniConfigContainer) DefaultString(key string, defaultval string) string
- func (c *IniConfigContainer) DefaultStrings(key string, defaultval []string) []string
- func (c *IniConfigContainer) Float(key string) (float64, error)
- func (c *IniConfigContainer) GetSection(section string) (map[string]string, error)
- func (c *IniConfigContainer) Int(key string) (int, error)
- func (c *IniConfigContainer) Int64(key string) (int64, error)
- func (c *IniConfigContainer) SaveConfigFile(filename string) (err error)
- func (c *IniConfigContainer) Set(key, value string) error
- func (c *IniConfigContainer) String(key string) string
- func (c *IniConfigContainer) Strings(key string) []string
- type JSONConfig
- type JSONConfigContainer
- func (c *JSONConfigContainer) Bool(key string) (bool, error)
- func (c *JSONConfigContainer) DIY(key string) (v interface{}, err error)
- func (c *JSONConfigContainer) DefaultBool(key string, defaultval bool) bool
- func (c *JSONConfigContainer) DefaultFloat(key string, defaultval float64) float64
- func (c *JSONConfigContainer) DefaultInt(key string, defaultval int) int
- func (c *JSONConfigContainer) DefaultInt64(key string, defaultval int64) int64
- func (c *JSONConfigContainer) DefaultString(key string, defaultval string) string
- func (c *JSONConfigContainer) DefaultStrings(key string, defaultval []string) []string
- func (c *JSONConfigContainer) Float(key string) (float64, error)
- func (c *JSONConfigContainer) GetSection(section string) (map[string]string, error)
- func (c *JSONConfigContainer) Int(key string) (int, error)
- func (c *JSONConfigContainer) Int64(key string) (int64, error)
- func (c *JSONConfigContainer) SaveConfigFile(filename string) (err error)
- func (c *JSONConfigContainer) Set(key, val string) error
- func (c *JSONConfigContainer) String(key string) string
- func (c *JSONConfigContainer) Strings(key string) []string
- Bugs
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExpandValueEnv ¶
ExpandValueEnv returns value of convert with environment variable.
Return environment variable if value start with "${" and end with "}". Return default value if environment variable is empty or not exist.
It accept value formats "${env}" , "${env||}}" , "${env||defaultValue}" , "defaultvalue". Examples:
v1 := config.ExpandValueEnv("${GOPATH}") // return the GOPATH environment variable. v2 := config.ExpandValueEnv("${GOAsta||/usr/local/go}") // return the default value "/usr/local/go/". v3 := config.ExpandValueEnv("Astaxie") // return the value "Astaxie".
func ExpandValueEnvForMap ¶
ExpandValueEnvForMap convert all string value with environment variable.
func ParseBool ¶
ParseBool returns the boolean value represented by the string.
It accepts 1, 1.0, t, T, TRUE, true, True, YES, yes, Yes,Y, y, ON, on, On, 0, 0.0, f, F, FALSE, false, False, NO, no, No, N,n, OFF, off, Off. Any other value returns an error.
Types ¶
type Config ¶
type Config interface { Parse(key string) (Configer, error) ParseData(data []byte) (Configer, error) }
Config is the adapter interface for parsing config file to get raw data to Configer.
type Configer ¶
type Configer interface { Set(key, val string) error //support section::key type in given key when using ini type. String(key string) string //support section::key type in key string when using ini and json type; Int,Int64,Bool,Float,DIY are same. Strings(key string) []string //get string slice Int(key string) (int, error) Int64(key string) (int64, error) Bool(key string) (bool, error) Float(key string) (float64, error) DefaultString(key string, defaultVal string) string // support section::key type in key string when using ini and json type; Int,Int64,Bool,Float,DIY are same. DefaultStrings(key string, defaultVal []string) []string //get string slice DefaultInt(key string, defaultVal int) int DefaultInt64(key string, defaultVal int64) int64 DefaultBool(key string, defaultVal bool) bool DefaultFloat(key string, defaultVal float64) float64 DIY(key string) (interface{}, error) GetSection(section string) (map[string]string, error) SaveConfigFile(filename string) error }
Configer defines how to get and set value from configuration raw data.
func NewConfigData ¶
NewConfigData adapterName is ini/json/xml/yaml. data is the config data.
type IniConfig ¶
type IniConfig struct { }
IniConfig implements Config to parse ini file.
type IniConfigContainer ¶
IniConfigContainer A Config represents the ini configuration. When set and get value, support key as section:name type.
func (*IniConfigContainer) Bool ¶
func (c *IniConfigContainer) Bool(key string) (bool, error)
Bool returns the boolean value for a given key.
func (*IniConfigContainer) DIY ¶
func (c *IniConfigContainer) DIY(key string) (v interface{}, err error)
DIY returns the raw value by a given key.
func (*IniConfigContainer) DefaultBool ¶
func (c *IniConfigContainer) DefaultBool(key string, defaultval bool) bool
DefaultBool returns the boolean value for a given key. if err != nil return defaltval
func (*IniConfigContainer) DefaultFloat ¶
func (c *IniConfigContainer) DefaultFloat(key string, defaultval float64) float64
DefaultFloat returns the float64 value for a given key. if err != nil return defaltval
func (*IniConfigContainer) DefaultInt ¶
func (c *IniConfigContainer) DefaultInt(key string, defaultval int) int
DefaultInt returns the integer value for a given key. if err != nil return defaltval
func (*IniConfigContainer) DefaultInt64 ¶
func (c *IniConfigContainer) DefaultInt64(key string, defaultval int64) int64
DefaultInt64 returns the int64 value for a given key. if err != nil return defaltval
func (*IniConfigContainer) DefaultString ¶
func (c *IniConfigContainer) DefaultString(key string, defaultval string) string
DefaultString returns the string value for a given key. if err != nil return defaltval
func (*IniConfigContainer) DefaultStrings ¶
func (c *IniConfigContainer) DefaultStrings(key string, defaultval []string) []string
DefaultStrings returns the []string value for a given key. if err != nil return defaltval
func (*IniConfigContainer) Float ¶
func (c *IniConfigContainer) Float(key string) (float64, error)
Float returns the float value for a given key.
func (*IniConfigContainer) GetSection ¶
func (c *IniConfigContainer) GetSection(section string) (map[string]string, error)
GetSection returns map for the given section
func (*IniConfigContainer) Int ¶
func (c *IniConfigContainer) Int(key string) (int, error)
Int returns the integer value for a given key.
func (*IniConfigContainer) Int64 ¶
func (c *IniConfigContainer) Int64(key string) (int64, error)
Int64 returns the int64 value for a given key.
func (*IniConfigContainer) SaveConfigFile ¶
func (c *IniConfigContainer) SaveConfigFile(filename string) (err error)
SaveConfigFile save the config into file.
BUG(env): The environment variable config item will be saved with real value in SaveConfigFile Funcation.
func (*IniConfigContainer) Set ¶
func (c *IniConfigContainer) Set(key, value string) error
Set writes a new value for key. if write to one section, the key need be "section::key". if the section is not existed, it panics.
func (*IniConfigContainer) String ¶
func (c *IniConfigContainer) String(key string) string
String returns the string value for a given key.
func (*IniConfigContainer) Strings ¶
func (c *IniConfigContainer) Strings(key string) []string
Strings returns the []string value for a given key. Return nil if config value does not exist or is empty.
type JSONConfig ¶
type JSONConfig struct { }
JSONConfig is a json config parser and implements Config interface.
type JSONConfigContainer ¶
JSONConfigContainer A Config represents the json configuration. Only when get value, support key as section:name type.
func (*JSONConfigContainer) Bool ¶
func (c *JSONConfigContainer) Bool(key string) (bool, error)
Bool returns the boolean value for a given key.
func (*JSONConfigContainer) DIY ¶
func (c *JSONConfigContainer) DIY(key string) (v interface{}, err error)
DIY returns the raw value by a given key.
func (*JSONConfigContainer) DefaultBool ¶
func (c *JSONConfigContainer) DefaultBool(key string, defaultval bool) bool
DefaultBool return the bool value if has no error otherwise return the defaultval
func (*JSONConfigContainer) DefaultFloat ¶
func (c *JSONConfigContainer) DefaultFloat(key string, defaultval float64) float64
DefaultFloat returns the float64 value for a given key. if err != nil return defaltval
func (*JSONConfigContainer) DefaultInt ¶
func (c *JSONConfigContainer) DefaultInt(key string, defaultval int) int
DefaultInt returns the integer value for a given key. if err != nil return defaltval
func (*JSONConfigContainer) DefaultInt64 ¶
func (c *JSONConfigContainer) DefaultInt64(key string, defaultval int64) int64
DefaultInt64 returns the int64 value for a given key. if err != nil return defaltval
func (*JSONConfigContainer) DefaultString ¶
func (c *JSONConfigContainer) DefaultString(key string, defaultval string) string
DefaultString returns the string value for a given key. if err != nil return defaltval
func (*JSONConfigContainer) DefaultStrings ¶
func (c *JSONConfigContainer) DefaultStrings(key string, defaultval []string) []string
DefaultStrings returns the []string value for a given key. if err != nil return defaltval
func (*JSONConfigContainer) Float ¶
func (c *JSONConfigContainer) Float(key string) (float64, error)
Float returns the float value for a given key.
func (*JSONConfigContainer) GetSection ¶
func (c *JSONConfigContainer) GetSection(section string) (map[string]string, error)
GetSection returns map for the given section
func (*JSONConfigContainer) Int ¶
func (c *JSONConfigContainer) Int(key string) (int, error)
Int returns the integer value for a given key.
func (*JSONConfigContainer) Int64 ¶
func (c *JSONConfigContainer) Int64(key string) (int64, error)
Int64 returns the int64 value for a given key.
func (*JSONConfigContainer) SaveConfigFile ¶
func (c *JSONConfigContainer) SaveConfigFile(filename string) (err error)
SaveConfigFile save the config into file
func (*JSONConfigContainer) Set ¶
func (c *JSONConfigContainer) Set(key, val string) error
Set writes a new value for key.
func (*JSONConfigContainer) String ¶
func (c *JSONConfigContainer) String(key string) string
String returns the string value for a given key.
func (*JSONConfigContainer) Strings ¶
func (c *JSONConfigContainer) Strings(key string) []string
Strings returns the []string value for a given key.
Notes ¶
Bugs ¶
The environment variable config item will be saved with real value in SaveConfigFile Funcation.