2016-07-04 10 views
1

に地元の展開とライブ展開を区別しますは、どのように、たとえば、私はグローバル変数を設定するGoogle AppEngineの

var DEBUG_MODE bool 

func init() { 
    // set DEBUG_MODE true if localhost (not appspot.com or other domain) 
} 

はどのようにこれを行うには?

+0

あなたがプログラミング言語を使用してください:

は、この関連の質問に(?可能複製)を参照してください? –

+0

@IgorArtamonov Go – Kokizzu

答えて

3

最も簡単なアプリが(AppEngineのSDKを使用して)開発モードで実行されているかどうかか(生産中)生きるために使用appengine.IsDevAppServer()を使用することです:

func IsDevAppServer() bool 

IsDevAppServerは、App Engineアプリケーションがあるかどうかを報告開発App Serverで実行しています。

代わりに、あなたはまた、1つの文字列にマージされ、アプリのバージョンと一緒にこの情報が含まれているappengine.ServerSoftware()を使用することができます。

func ServerSoftware() string 

ServerSoftware App Engineのリリースバージョンを返します。プロダクションでは、 "Google App Engine/X.Y.Z"のように見えます。開発アプリケーションサーバーでは、 "Development/X.Y"のように見えます。

だから、あなたが何をしたい例えば:

var DEBUG_MODE bool 

func init() { 
    DEBUG_MODE = appengine.IsDevAppServer() 
} 

または1行で:

var DEBUG_MODE = appengine.IsDevAppServer() 

が、あなたはDEBUG_MODEを参照することになりいつでもあなただけのappengine.IsDevAppServer()を呼び出すことができますノート。また、DEBUG_MODEという名前はGo命名規則に準拠していません。エクスポートする必要がある場合はDebugMode(他のパッケージからもアクセスしたいため)か、エクスポートする必要がない場合はdebugModeにする必要があります。 How to set variables based on project id?

関連する問題