| Overview [](https://travis-ci.org/magiconair/properties) |
| ======== |
| |
| #### Current version: 1.5.6 |
| |
| properties is a Go library for reading and writing properties files. |
| |
| It supports reading from multiple files and Spring style recursive property |
| expansion of expressions like `${key}` to their corresponding value. |
| Value expressions can refer to other keys like in `${key}` or to |
| environment variables like in `${USER}`. |
| Filenames can also contain environment variables like in |
| `/home/${USER}/myapp.properties`. |
| |
| Comments and the order of keys are preserved. Comments can be modified |
| and can be written to the output. |
| |
| The properties library supports both ISO-8859-1 and UTF-8 encoded data. |
| |
| Starting from version 1.3.0 the behavior of the MustXXX() functions is |
| configurable by providing a custom `ErrorHandler` function. The default has |
| changed from `panic` to `log.Fatal` but this is configurable and custom |
| error handling functions can be provided. See the package documentation for |
| details. |
| |
| Getting Started |
| --------------- |
| |
| ```go |
| import "github.com/magiconair/properties" |
| |
| func main() { |
| p := properties.MustLoadFile("${HOME}/config.properties", properties.UTF8) |
| host := p.MustGetString("host") |
| port := p.GetInt("port", 8080) |
| } |
| |
| ``` |
| |
| Read the full documentation on [GoDoc](https://godoc.org/github.com/magiconair/properties) [](https://godoc.org/github.com/magiconair/properties) |
| |
| Installation and Upgrade |
| ------------------------ |
| |
| ``` |
| $ go get -u github.com/magiconair/properties |
| ``` |
| |
| License |
| ------- |
| |
| 2 clause BSD license. See [LICENSE](https://github.com/magiconair/properties/blob/master/LICENSE) file for details. |
| |
| ToDo |
| ---- |
| * Dump contents with passwords and secrets obscured |