I want to set global variable, for example:
var DEBUG_MODE bool
func init() {
// set DEBUG_MODE true if localhost (not appspot.com or other domain)
}
How to do this?
I want to set global variable, for example:
var DEBUG_MODE bool
func init() {
// set DEBUG_MODE true if localhost (not appspot.com or other domain)
}
How to do this?
Easiest is to use use appengine.IsDevAppServer()
to tell if your app is running in development mode (using the AppEngine SDK) or live (in production):
func IsDevAppServer() bool
IsDevAppServer reports whether the App Engine app is running in the development App Server.
Alternatively you can also use appengine.ServerSoftware()
which contains this information along with your App version, merged into one string:
func ServerSoftware() string
ServerSoftware returns the App Engine release version. In production, it looks like "Google App Engine/X.Y.Z". In the development appserver, it looks like "Development/X.Y".
So for example what you want to do:
var DEBUG_MODE bool
func init() {
DEBUG_MODE = appengine.IsDevAppServer()
}
Or in one line:
var DEBUG_MODE = appengine.IsDevAppServer()
Although note that you could just call appengine.IsDevAppServer()
whenever you would refer to DEBUG_MODE
. Also the name DEBUG_MODE
does not conform to Go naming conventions, it should either be DebugMode
if it needs to be exported (because you want to access it from other packages too), or it should be debugMode
if it doesn't need to be exported.
See this related question (possible duplicate?): How to set variables based on project id?