configx/README.md

28 lines
1.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ConfigX
ConfigX 是一个 Go 语言的配置库,提供了一种简单的方式来读取和管理应用程序的配置信息。
## 安装
使用 go get 安装 ConfigX
```bash
go get gitea.cccvno1.com/chenchi/configx
```
## 快速开始
基本使用方法参考 [example](https://gitea.cccvno1.com/chenchi/configx/src/branch/master/example)。
## 特性说明
### 环境变量支持
可以通过环境变量来覆盖配置文件中的配置项,环境变量的命名规则为 `PREFIX_KEY`,其中 `PREFIX` 为环境变量的前缀,默认值为 `APP``KEY` 为配置项的名称。例如 `APP_SERVER_PORT=9000` 可以覆盖配置文件中的 `server.port` 配置项。
### 不同环境的配置文件
支持根据不同的环境加载不同的配置文件,加载规则为 `config.{env}.yaml`,其中 `{env}` 为环境名称,例如 `config.dev.yaml`。`env` 的值可以通过环境变量 `APP_ENV` 来指定,默认值为 `dev`
### 配置热重载
通过 `WithAutoReload` 方法可以开启配置热重载功能,当配置文件发生变化时,会自动重新加载配置。
启动热重载功能后,可以为某一个配置项设置回调函数,当配置项发生变化时,回调函数会被调用。