我想设置全局变量,例如:
var DEBUG_MODE bool
func init() {
// set DEBUG_MODE true if localhost (not appspot.com or other domain)
}
怎么做?
答案 0 :(得分:3)
最简单的方法是使用appengine.IsDevAppServer()
来判断您的应用是在运行模式(使用AppEngine SDK)还是在线(在生产中)运行:
func IsDevAppServer() bool
IsDevAppServer报告App Engine应用程序是否在开发App Server中运行。
或者您也可以使用包含此信息的appengine.ServerSoftware()
以及您的应用版本,合并为一个字符串:
func ServerSoftware() string
ServerSoftware返回App Engine发行版。在制作中,它看起来像" Google App Engine / X.Y.Z"。在开发应用程序服务器中,它看起来像"开发/ X.Y"。
例如,你想做什么:
var DEBUG_MODE bool
func init() {
DEBUG_MODE = appengine.IsDevAppServer()
}
或者在一行中:
var DEBUG_MODE = appengine.IsDevAppServer()
虽然请注意,只要您引用appengine.IsDevAppServer()
,就可以致电DEBUG_MODE
。名称DEBUG_MODE
也不符合Go命名约定,如果需要导出它,它应该是DebugMode
(因为你也想从其他包中访问它),或者它应该是debugMode
。 1}}如果它不需要导出。
请参阅此相关问题(可能重复?):How to set variables based on project id?