Documentation ¶
Index ¶
- Constants
- Variables
- func Exists(confName string) bool
- func Parse(confName string, obj interface{}) (err error)
- func ParseBytes(fileExt string, content []byte, obj interface{}) error
- func RegisterBeforeFunc(name string, fn BeforeFunc) error
- func RegisterParserFunc(fileExt string, fn ParserFunc) error
- type BeforeFunc
- type Conf
- type ParserFunc
Constants ¶
View Source
const ( // 已支持的文件后缀 // FileTOML toml FileTOML = ".toml" // FileJSON json FileJSON = ".json" )
Variables ¶
View Source
var Default = NewDefault(nil)
Default 默认的实例,全局的Parse、ParseBytes、Exists等方法均使用该对象
View Source
var DefaultParserFuncs = map[string]ParserFunc{ FileJSON: JSONParserFunc, FileTOML: TOMLParserFunc, }
DefaultParserFuncs 所有默认的ParserFunc
Functions ¶
func Parse ¶
Parse 解析配置,配置文件默认认为在 conf/目录下
如配置文件 conf/abc.toml ,则读取时使用 Parse("abc.toml",&xxx) 推荐使用上述相对文件名老读取配置,这样可通过修改全局应用环境信息的env.ConfDir,来调整配置目录 也支持传入一个绝对路径 或者 相对路径 如 /tmp/test.toml 或者 ./conf/test.toml
func RegisterBeforeFunc ¶
func RegisterBeforeFunc(name string, fn BeforeFunc) error
RegisterBeforeFunc 注册一个在解析前执行辅助回调方法
name 唯一的名字;fn 回调函数
func RegisterParserFunc ¶
func RegisterParserFunc(fileExt string, fn ParserFunc) error
RegisterParserFunc 注册一个解析器
Types ¶
type BeforeFunc ¶
BeforeFunc 辅助回调方法,在执行ParserFunc前,会先对配置的内容进行解析处理
type Conf ¶
type Conf interface { // 读取并解析配置文件 // confName 支持相对路径和绝对路径 Parse(confName string, obj interface{}) error // 解析bytes内容 ParseBytes(fileExt string, content []byte, obj interface{}) error // 配置文件是否存在 Exists(confName string) bool // 注册一个指定后缀的配置的parser // 如要添加 .ini 文件的支持,可在此注册对应的解析函数即可 RegisterParserFunc(fileExt string, fn ParserFunc) error // 注册一个在解析前执行辅助回调方法 // 先注册的先执行,不能重复 RegisterBeforeFunc(name string, fn BeforeFunc) error // 配置的环境信息 Env() env.AppEnv }
Conf 配置解析定义接口
type ParserFunc ¶
ParserFunc 针对特定文件后缀的配置解析方法 当前已经内置了 .toml 和 .json的解析方法
var JSONParserFunc ParserFunc = jsonParserFunc
JSONParserFunc .json配置文件格式解析函数
var TOMLParserFunc ParserFunc = toml.Unmarshal
TOMLParserFunc .toml配置文件格式解析函数
Click to show internal directories.
Click to hide internal directories.