Golang : How to deal with configuration data?
A friend ask what are the ways to deal with configuration data in Golang. Couple of ways that I can think up are :
The simplest. Read configuration data from key-value pair file. See example on Golang Key-Pair value file.
Read data from YAML file with goyaml.
TOML - see https://github.com/BurntSushi/toml
Read from environment variables.
Hard code into the program source code. Which is not advisable..but if you're writing a small program or microservice..then it is ok. It will make life easier for future maintenance.
UPDATE :
- Thanks to Mark for pointing out the Viper package. https://github.com/spf13/viper. From the Viper's documentation - "When building a modern application, you don’t want to worry about configuration file formats; you want to focus on building awesome software. Viper is here to help with that."
Reference :
https://www.socketloop.com/tutorials/golang-read-data-from-config-file-and-assign-to-variables
See also : Golang : Read data from config file and assign to variables
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+7.9k Golang : Sort words with first uppercase letter
+22k Golang : How to run Golang application such as web server in the background or as daemon?
+5.9k Fix ERROR 2003 (HY000): Can't connect to MySQL server on 'IP address' (111)
+5.3k Golang : If else example and common mistake
+6k Golang : How to write backslash in string?
+8.1k Golang : Emulate NumPy way of creating matrix example
+6.1k PHP : How to handle URI or URL with non-ASCII characters such as Chinese/Japanese/Korean(CJK) ?
+5.8k Facebook : How to force facebook to scrape latest URL link data?
+27k Golang : Find files by name - cross platform example
+8.6k Golang : Find duplicate files with filepath.Walk
+8.2k Golang : Implementing class(object-oriented programming style)
+8.2k Useful methods to access blocked websites