問題タブ [go-http]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - ステートメントの実行と関数の実行でのゴルーチンの異なる動作
ゴルーチンに関する次の 2 つの呼び出しの違いを説明できる人はいますか?
方法 1
これは、「Starting srv」の実行後に停止します
方法 2
これにより、「Starting srv」と「Starting intSrv」の両方が実行されます。
挙動が違うのはなぜ?
go - 複数のエンドポイントの HTTP クライアント セットアップに移動しますか?
http クライアント接続を再利用して、単一のエンドポイントへの外部呼び出しを行います。プログラムの抜粋を以下に示します。
キュー メッセージを介して受信したさまざまなエンドポイント/資格情報を使用してクライアント接続をセットアップする必要があります。
私が予見する問題はAppCon
、新しいエンドポイントの詳細を単純に変更するだけでは、へのポインタMyApp
が返されてリセットされてしまうことc
です。これは、意図しないエンドポイントへの HTTP 呼び出しを行うゴルーチンに影響を与える可能性があります。些細なことではありませんが、プログラムはエンドポイントを認識しているわけではなく (私はswitch
ステートメントの使用を検討していました)、キュー メッセージを介して必要なものを受け取ります。
私が指摘した問題が正しいことを考えると、それを解決する方法に関する推奨事項はありますか?
編集1
提供されたフィードバックに基づいて、これで問題が解決すると確信しています。
- のシングルトンの使用を削除します
MyApp
MyApp
再利用を可能にするhttp クライアントを切り離す