mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-02 16:49:48 +01:00
.. | ||
testdata | ||
.gitignore | ||
conf.go | ||
goconfig_test.go | ||
LICENSE | ||
read.go | ||
README_ZH.md | ||
README.md | ||
write.go |
goconfig
IMPORTANT
- This library is under bug fix only mode, which means no more features will be added.
- I'm continuing working on better Go code with a different library: ini.
About
Package goconfig is a easy-use, comments-support configuration file parser for the Go Programming Language, which provides a structure similar to what you would find on Microsoft Windows INI files.
The configuration file consists of sections, led by a [section]
header and followed by name:value
or name=value
entries. Note that leading whitespace is removed from values. The optional values can contain format strings which refer to other values in the same section, or values in a special DEFAULT section. Comments are indicated by ";" or "#"; comments may begin anywhere on a single line.
Features
- It simplified operation processes, easy to use and undersatnd; therefore, there are less chances to have errors.
- It uses exactly the same way to access a configuration file as you use Windows APIs, so you don't need to change your code style.
- It supports read recursion sections.
- It supports auto increment of key.
- It supports READ and WRITE configuration file with comments each section or key which all the other parsers don't support!!!!!!!
- It supports get value through type bool, float64, int, int64 and string, methods that start with "Must" means ignore errors and get zero-value if error occurs, or you can specify a default value.
- It's able to load multiple files to overwrite key values.
Installation
go get github.com/Unknwon/goconfig
Or
gopm get github.com/Unknwon/goconfig
API Documentation
Example
Please see conf.ini as an example.
Usage
- Function
LoadConfigFile
load file(s) depends on your situation, and return a variable with typeConfigFile
. GetValue
gives basic functionality of getting a value of given section and key.- Methods like
Bool
,Int
,Int64
return corresponding type of values. - Methods start with
Must
return corresponding type of values and returns zero-value of given type if something goes wrong. SetValue
sets value to given section and key, and inserts somewhere if it does not exist.DeleteKey
deletes by given section and key.- Finally,
SaveConfigFile
saves your configuration to local file system. - Use method
Reload
in case someone else modified your file(s). - Methods contains
Comment
help you manipulate comments.
More Information
- All characters are CASE SENSITIVE, BE CAREFUL!
Credits
License
This project is under Apache v2 License. See the LICENSE file for the full license text.