[英]How to differentiate between local deployment and live deployment on Google AppEngine
我想设置全局变量,例如:
var DEBUG_MODE bool
func init() {
// set DEBUG_MODE true if localhost (not appspot.com or other domain)
}
这个怎么做?
最简单的方法是使用appengine.IsDevAppServer()
来判断您的应用程序是在开发模式下运行(使用AppEngine SDK)还是实时(在生产中):
func IsDevAppServer() bool
IsDevAppServer报告App Engine应用程序是否在开发App Server中运行。
或者,您也可以使用appengine.ServerSoftware()
,它包含此信息以及您的App版本,合并为一个字符串:
func ServerSoftware() string
ServerSoftware返回App Engine发行版。 在制作中,它看起来像“Google App Engine / XYZ”。 在开发应用程序服务器中,它看起来像“开发/ XY”。
例如,你想做什么:
var DEBUG_MODE bool
func init() {
DEBUG_MODE = appengine.IsDevAppServer()
}
或者在一行中:
var DEBUG_MODE = appengine.IsDevAppServer()
虽然请注意,只要您引用DEBUG_MODE
,就可以调用appengine.IsDevAppServer()
。 名称DEBUG_MODE
也不符合Go命名约定,如果需要导出它,它应该是DebugMode
(因为你也想从其他包中访问它),或者如果它不需要导出它应该是debugMode
。
看到这个相关问题(可能重复?): 如何根据项目ID设置变量?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.