commit | 359442d561ca28acd0fe503aa9f075f505bc9ed0 | [log] [tgz] |
---|---|---|
author | Frank Schroeder <frschroeder@ebay.com> | Tue Jun 23 19:22:00 2015 +0200 |
committer | Frank Schroeder <frschroeder@ebay.com> | Tue Jun 23 19:40:59 2015 +0200 |
tree | 857db06a5e7fe21b5fc6292f12565279a155307b | |
parent | 624009598839a9432bd97bb75552389422357723 [diff] |
Issue #5: Support disabling expansion
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.
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
$ go get -u github.com/magiconair/properties
For testing and debugging you need the go-check library
$ go get -u gopkg.in/check.v1
2 clause BSD license. See LICENSE file for details.