Documentation
¶
Overview ¶
Usage:
import "github.com/bhojpur/web/pkg/core/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
Index ¶
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("${GOBhojpur||/usr/local/go}") // return the default value "/usr/local/go/".
v3 := config.ExpandValueEnv("Bhojpur") // return the value "Bhojpur".
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.
Directories
¶
| Path | Synopsis |
|---|---|
|
depend on github.com/bhojpur/web/pkg/x2j.
|
depend on github.com/bhojpur/web/pkg/x2j. |
|
depend on github.com/bhojpur/web/pkg/core/config/yaml go install github.com/bhojpur/web Usage: import( _ "github.com/bhojpur/web/pkg/adapter/config/yaml" "github.com/bhojpur/web/pkg/config" ) cnf, err := config.NewConfig("yaml", "config.yaml")
|
depend on github.com/bhojpur/web/pkg/core/config/yaml go install github.com/bhojpur/web Usage: import( _ "github.com/bhojpur/web/pkg/adapter/config/yaml" "github.com/bhojpur/web/pkg/config" ) cnf, err := config.NewConfig("yaml", "config.yaml") |