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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user