I'm trying to set up templating whereby based on an environment variable to indicate whether we are in a development, staging or production environment, the HTML that is rendered is pointed towards different servers.
To do this I would like to use something like Node does in the NODE_ENV environment variable, and then conditionally set the path based on that in my code.
if(process.env.NODE_ENV === 'development') {
/* development code */
} else {
/* production code */
}
Is there a standard for defining an environment in Golang? Does this seem like a logical approach?
Yes, it is a logical approach. In fact it's a somewhat standard practice when deploying servers.
There is no standard in the go world, so do whatever.
Just try to keep it obvious, ie: APP_ENV=dev
There doesn't appear to an equivalent of NODE_ENV
in the Go world. You can set an environment variable APP_ENV
in your IDE locally (and in production).
env := os.Getenv("APP_ENV")
if env == "production" {
/* production-version of the code */
} else {
/* development-version of the code */
}
you can still using "NODE_ENV", it's just a name, then use os.Getenv("NODE_ENV")get it.