【发布时间】:2016-11-05 20:09:59
【问题描述】:
我要设置全局变量,例如:
var DEBUG_MODE bool
func init() {
// set DEBUG_MODE true if localhost (not appspot.com or other domain)
}
如何做到这一点?
【问题讨论】:
-
您使用哪种编程语言?
标签: google-app-engine go
我要设置全局变量,例如:
var DEBUG_MODE bool
func init() {
// set DEBUG_MODE true if localhost (not appspot.com or other domain)
}
如何做到这一点?
【问题讨论】:
标签: google-app-engine go
最简单的方法是使用 appengine.IsDevAppServer() 来判断您的应用是在开发模式(使用 AppEngine SDK)还是实时(在生产中)运行:
func IsDevAppServer() boolIsDevAppServer 报告 App Engine 应用是否正在开发应用服务器中运行。
或者,您也可以使用appengine.ServerSoftware(),其中包含此信息以及您的应用版本,合并为一个字符串:
func ServerSoftware() stringServerSoftware 返回 App Engine 发行版本。在生产中,它看起来像“Google App Engine/X.Y.Z”。在开发应用服务器中,它看起来像“Development/X.Y”。
例如你想做什么:
var DEBUG_MODE bool
func init() {
DEBUG_MODE = appengine.IsDevAppServer()
}
或者在一行中:
var DEBUG_MODE = appengine.IsDevAppServer()
尽管请注意,只要您提及DEBUG_MODE,您就可以直接拨打appengine.IsDevAppServer()。此外,名称 DEBUG_MODE 不符合 Go 命名约定,如果需要导出它应该是 DebugMode(因为你也想从其他包访问它),或者如果它不应该是 debugMode '不需要导出。
查看此相关问题(可能重复?):How to set variables based on project id?
【讨论】: