golang でジェネリック変数のシングルトンを実装する最も最悪の方法を見つけようとしています。グローバル変数でプレーンな sync.once
パターンを使用しても、共通の型情報が利用できないため機能しません (下記)。
この例は不自然ですが、実際には、シングルトンを維持するコードは、t
(ライブラリなど) を定義するクライアント コードから分離できます。
次のライブラリ コードを想定しますが、t の具体的な値は不明です:
リーリーそして、t
が string
として定義されているこの別のクライアント コードを想定します。
リーリー
atomic.pointer APIを使用してこの問題を解決し、他の興味のある人が使用できるようにシンプルなライブラリに統合しました。 :
一行。シングレットを使用して元の投稿を再処理すると、次のようになります:
リーリー
クライアントコード:リーリー
そして、この機能をサポートするsinglet ライブラリ コード: リーリー
これが、この状況に遭遇した他の人にとって役立つことを願っています。以上がGo ジェネリックスを使用したシングルトン パターンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。