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
.
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.
The properties library supports both ISO-8859-1 and UTF-8 encoded data.
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
2 clause BSD license. See LICENSE file for details.