The previous recipe, Creating a program interface with the flag package, describes how to use flags as program parameters.
The other typical way of parameterization, especially for larger applications, is the configuration with the use of environment variables. Environment variables as a configuration option significantly simplify the deployment of the applications. These are also very common in cloud infrastructure.
Usually, the configuration of a database connection for a local and for an automated build environment is different.
If the configuration is defined by the environment variables, it is not necessary to change the application config files or even the application code. The exported environment variables (for example, DBSTRING) are all we need. It is also very practical to default the configuration if the environmental variable is not in place. This way, the life of the application developers is much easier.
This recipe will demonstrate how to read, set and unset the environment variable. It will also show you how to implement the default option if the variable is not set.