github.com/magiconair/Properties (go): Package properties provides functions for reading and writing ISO-8859-1 and UTF-8 encoded .properties files and has support for recursive property expansion.  Java properties files are ISO-8859-1 encoded and use Unicode literals for characters outside the ISO character set. Unicode literals can be used in UTF-8 encoded properties files but aren't necessary.  To load a single properties file use MustLoadFile():  To load multiple properties files use MustLoadFiles() which loads the files in the given order and merges the result. Missing properties files can be ignored if the 'ignoreMissing' flag is set to true.  Filenames can contain environment variables which are expanded before loading.  All of the different key/value delimiters ' ', ':' and '=' are supported as well as the comment characters '!' and '#' and multi-line values.  Properties stores all comments preceding a key and provides GetComments() and SetComments() methods to retrieve and update them. The convenience functions GetComment() and SetComment() allow access to the last comment. The WriteComment() method writes properties files including the comments and with the keys in the original order. This can be used for sanitizing properties files.  Property expansion is recursive and circular references and malformed expressions are not allowed and cause an error. Expansion of environment variables is supported.  The default property expansion format is ${key} but can be changed by setting different pre- and postfix values on the Properties object.  Properties provides convenience functions for getting typed values with default values if the key does not exist or the type conversion failed.  As an alternative properties may be applied with the standard library's flag implementation at any time.  Properties provides several MustXXX() convenience functions which will terminate the app if an error occurs. The behavior of the failure is configurable and the default is to call log.Fatal(err). To have the MustXXX() functions panic instead of logging the error set a different ErrorHandler before you use the Properties package.  You can also provide your own ErrorHandler function. The only requirement is that the error handler function must exit after handling the error.  Properties can also be loaded into a struct via the `Decode` method, e.g.  See `Decode()` method for the full documentation.  The following documents provide a description of the properties file format.  http://en.wikipedia.org/wiki/.properties  http://docs.oracle.com/javase/7/docs/api/java/util/Properties.html#load%28java.io.Reader%29
Keywords: go|golang|golang-library|properties