Documentation ¶
Index ¶
Constants ¶
View Source
const ( // Directory 默认配置目录 Directory = "config" // EnvDirectory 环境变量指定额外的配置目录 EnvDirectory = "ADVCONF_DIR" )
Variables ¶
View Source
var ( // Embed 允许从外部注入一个 embed.FS 用以让 advconf 读取内嵌文件 Embed *embed.FS )
Functions ¶
Types ¶
type FSLoader ¶
func NewFSLoader ¶
func (*FSLoader) FindFormat ¶
type Format ¶
type Format interface { Name() string Extensions() []string Load(ctx context.Context, filename string, buf []byte, out *map[string]interface{}) (err error) }
Format 将各种配置文件转换为 map[string]interface{},以便于最终以 JSON 格式反序列化 struct
type Loader ¶
type Loader interface { // Load 载入配置,并反序列化到一个结构体上,会从所有可能的数据源(内嵌文件,当前工作目录的 config 文件夹,环境变量指定的其他目录 等) // 加载数据,从 key 路径获取 map[string]interface{},最终以 JSON 格式反序列化到 out 上。注意,Load 方法同时会执行 validator 和 // defaults 两个工具 Load(ctx context.Context, out interface{}, key string) (found bool, err error) }
Loader 配置载入工具
type Validatable ¶
type Validatable interface {
Validate() error
}
Click to show internal directories.
Click to hide internal directories.