Update README.md
This commit is contained in:
parent
8f8a3d7464
commit
a8da608a36
30
README.md
30
README.md
@ -13,8 +13,17 @@ go get github.com/eschao/config
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
#### 1. Defines **default** values
|
#### I. Data types
|
||||||
**config** library supports defining a default value for structure members by using **default** keyword in structure tags
|
Like JSON, Yaml, **config** uses tags to define configurations. It supports the following golang data types:
|
||||||
|
* bool
|
||||||
|
* string
|
||||||
|
* int8, int16, int, int32, int64
|
||||||
|
* uint8, uint16, uint, uint32, uint64
|
||||||
|
* float32, float64
|
||||||
|
* slice type. e.g: []string, []int ...
|
||||||
|
|
||||||
|
#### II. Defines **default** values
|
||||||
|
Using **default** keyword in structure tags to define default value. Example codes:
|
||||||
```golang
|
```golang
|
||||||
type Log struct {
|
type Log struct {
|
||||||
Path string `default:"/var/logs"`
|
Path string `default:"/var/logs"`
|
||||||
@ -22,14 +31,14 @@ go get github.com/eschao/config
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
After that, calls ```config.ParseDefault(interface{})``` to set it on structure instance, example codes as the below:
|
After that, calls ```config.ParseDefault(interface{})``` to set structure instance with default values. Example codes:
|
||||||
```golang
|
```golang
|
||||||
logConfig := Log{}
|
logConfig := Log{}
|
||||||
config.ParseDefault(&logConfig)
|
config.ParseDefault(&logConfig)
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2. Reads configurations from JSON file
|
#### III. Reads configurations from JSON and Yaml files
|
||||||
Like analyzing JSON object from file, reading configurations from JSON file is also simple:
|
##### 1. Using ```json``` to define configuration name
|
||||||
```golang
|
```golang
|
||||||
type Database struct {
|
type Database struct {
|
||||||
Host string `json:"host"`
|
Host string `json:"host"`
|
||||||
@ -40,6 +49,17 @@ Like analyzing JSON object from file, reading configurations from JSON file is a
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
##### 2. Using ```yaml``` to define configuration name
|
||||||
|
```golang
|
||||||
|
type Database struct {
|
||||||
|
Host string `yaml:"host"`
|
||||||
|
Port int `yaml:"port"`
|
||||||
|
Username string `yaml:"username" default:"admin"`
|
||||||
|
Password string `yaml:"password" default:"admin"`
|
||||||
|
Log Log `yaml:"log"`
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Parsing configurations from JSON:
|
Parsing configurations from JSON:
|
||||||
```golang
|
```golang
|
||||||
dbConfig := Database{}
|
dbConfig := Database{}
|
||||||
|
Loading…
Reference in New Issue
Block a user