2
0

Improved documentation.
All checks were successful
test / test (push) Successful in 1m12s

This commit is contained in:
Алексей Бадяев 2024-11-03 11:11:32 +07:00
parent 5609f59448
commit 761f8386e7
Signed by: alexey
GPG Key ID: 686FBC1363E4AFAE

View File

@ -13,7 +13,7 @@ go get gopkg.in/yaml.v3
1. Install **config** library:
```sh
go get github.com/eschao/config
git@git.mousesoft.ru:ms/config.git
```
## Usage
@ -41,6 +41,7 @@ Like JSON, Yaml, **config** uses tags to define configurations:
* int8, int16, int, int32, int64
* uint8, uint16, uint, uint32, uint64
* float32, float64
* time.Duration
* slice type. e.g: []string, []int ...
#### 2. Defines **default** values
@ -287,33 +288,49 @@ Examples:
Then, you can parse as below:
```golang
dbConfig := Database{}
dbConfig := Database{}
// parse default values
if err := config.ParseDefault(&dbConfig); err != nil {
// error handling
}
// parse default values
if err := config.ParseDefault(&dbConfig); err != nil {
// error handling
}
// parse configuration file from command line
err := config.ParseConfig(&dbConfig, "c")
cmd := config.NewCLI("")
if err := cmd.Init(&dbConfig); err != nil {
// error handling
}
// capture cli flags
args := cmd.Capture(os.Args)
// parse cli flags of application, urfave for example
flagSet.Parse(args)
// parse captured cli flags of config
if err := cmd.Parse(cmd.Args); err != nil {
// error handling
}
// parse configuration file from command line
err := config.ParseConfig(&dbConfig, "c")
// parse default configurations
if err != nil {
err = config.ParseConfigFile(&dbConfig), "")
}
// parse default configurations
if err != nil {
err = config.ParseConfigFile(&dbConfig), "")
}
// parse environment variables
if err != nil {
err = config.ParseEnv(&dbConfig)
}
// parse environment variables
if err != nil {
err = config.ParseEnv(&dbConfig)
}
// parse command line
if err != nil {
err = config.ParseCli(&dbConfig)
}
// parse command line
if err != nil {
err = config.ParseCli(&dbConfig)
}
// check if all required configurations are set
...
// check if all required configurations are set
...
```
You don't need to call all of them. Just invokes parsing function that your need.