Go ハンドラーに引数を渡す
Web 開発では、ハンドラーは受信した HTTP リクエストを処理し、応答を返す責任があります。デフォルトでは、人気のある Go ルーティング ライブラリである Gorilla Mux は、ハンドラーが http.ResponseWriter と *http.Request の 2 つのパラメーターを取る関数として定義されることを期待しています。
ただし、ハンドラーを渡す必要があるシナリオが発生する可能性があります。ハンドラーへの追加の引数 (データベース オブジェクトやその他の依存関係など)。グローバル変数は便利な解決策ですが、潜在的な問題を引き起こす可能性もあります。
グローバル変数の代替手段
ハンドラーに引数を渡すためにグローバル変数を使用しないようにするには、次のようにします。いくつかの回避策が利用可能です:
1.構造体ベースのハンドラー
データベース オブジェクトを埋め込み、ハンドラー関数を含むカスタム構造体を定義できます。この構造体のインスタンスを作成すると、適切なインスタンスを各ハンドラーに渡すことができます。
2.ラッパー関数
追加の引数を受け入れて実際のハンドラーを呼び出すラッパー関数を作成できます。
どちらのアプローチでも、引数を回避しながら Go ハンドラーに引数を渡す方法が提供されます。グローバル変数の使用。
以上がグローバル変数を使用せずに Go ハンドラーに引数を渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。