我想设置全局变量,例如:
var DEBUG_MODE bool func init() { // set DEBUG_MODE true if localhost (not appspot.com or other domain) }
这该怎么做?
最简单的方法是使用appengine.IsDevAppServer()来告诉您的应用程序是在开发模式下运行(使用AppEngine SDK)还是在现场(正在生产中)运行:
appengine.IsDevAppServer()
func IsDevAppServer() bool IsDevAppServer报告App Engine应用程序是否在开发App Server中运行。
func IsDevAppServer() bool
IsDevAppServer报告App Engine应用程序是否在开发App Server中运行。
另外,您也可以使用appengine.ServerSoftware()其中包含此信息以及您的App版本的信息,并合并为一个字符串:
appengine.ServerSoftware()
func ServerSoftware() string ServerSoftware返回App Engine发行版本。在生产中,它看起来像“ Google App Engine / XYZ”。在开发应用程序服务器中,它看起来像“ Development / XY”。
func ServerSoftware() string
ServerSoftware返回App Engine发行版本。在生产中,它看起来像“ Google App Engine / XYZ”。在开发应用程序服务器中,它看起来像“ Development / XY”。
因此,例如,您想做什么:
var DEBUG_MODE bool func init() { DEBUG_MODE = appengine.IsDevAppServer() }
或一行:
var DEBUG_MODE = appengine.IsDevAppServer()
尽管请注意,appengine.IsDevAppServer()只要您可以参考,就可以打电话DEBUG_MODE。同样,该名称DEBUG_MODE不符合Go命名约定,应该是DebugMode是否需要导出(因为您也想从其他包中访问它),或者应该是debugMode不需要导出的名称。
DEBUG_MODE
DebugMode
debugMode