为什么os.Getenv(“SERVER_SOFTWARE”)为我返回空字符串?

时间:2013-05-31 16:48:25

标签: google-app-engine go

我最近升级到Go SDK的最新版本(1.8.0),现在当我调用os.Getenv(“SERVER_SOFTWARE”)时,我得到一个空字符串。我使用它来确定我是否在我的本地开发服务器或实时环境中,并且我不知道有任何其他方法可以检查。所以对这两个问题的回答都会让我很好:1)为什么现在返回一个空白字符串?或2)是否有其他方法来检查我是否在开发服务器上?

2 个答案:

答案 0 :(得分:0)

使用os.Environ函数查看为开发服务器设置的环境变量。看看它们中是否有任何一个可以区分开发和生产服务器。例如,APPLICATION_ID环境变量。

  

The Go Development Server

     

Accessing Application IDs in the Development Web Server

     

开发服务器模拟生产App Engine服务。   其中一种方法是将字符串(dev~)添加到APPLICATION_ID   环境变量。

答案 1 :(得分:0)

所以...我一直在找到很多“嘿,我很笨,而且有一种更好的方法”最近回答了我的问题。这似乎就是其中之一。因此,如果我支持一步,并解决我想要回答的真正问题,一切都会变得简单得多。我只是试图确定我是在开发服务器还是在线服务器上。我正在研究一个完全不相关的问题,并发现了这个:appengine.IsDevAppServer()。它已完整记录:https://developers.google.com/appengine/docs/go/reference#IsDevAppServer,我直到现在才看到它。

相关问题