php エディターの Strawberry は、今日よく使用されるテクニックである Go を紹介します。これは、ある構造を別の構造にマッピングする慣用的な方法です。プログラミングでは、さまざまなニーズを満たすために、あるデータ構造を別のデータ構造に変換する必要があることがよくあります。 Go は、この目標を達成するための簡潔かつ柔軟な方法を提供します。データベース クエリの結果、API 応答、またはその他のデータ変換シナリオを処理する場合でも、Go は構造マッピング作業を簡単に完了するのに役立ちます。続いて、Go!の具体的な使い方を学んでいきましょう。
サードパーティの Go 言語ライブラリを使用して、ユーザーの LDAP データベースにクエリを実行しています。ライブラリは、独自のユーザー構造にマップする必要がある searchresult の resultuser スライスを返します。これら 2 つの構造体はフィールド名が異なります。resultuser からの特定のフィールドのみが必要です。ある構造体を別の構造体に変換するためのより慣用的な方法はありますか。
以下のデモを作成しました (go プレイグラウンドにもリンクされています)。この初心者へのアドバイスをよろしくお願いします。
リーリー構造体フィールドタグを見てきましたが、より良い方法があるかどうかはわかりません。
あなたが持っているものがほぼ最良の解決策だと思いますが、マッピングを次のような専用関数に移動します。 リーリー
その後、mapresultstousers は次のようになります:
リーリー
何かを組み合わせて、次のように
user 構造に注釈を付けることができます。
リーリー
ただし、これを実装するには、ここで説明した
よりもはるかに複雑なアプローチが必要であり、reflect
パッケージに精通している必要があります。私の同僚の一人がよく言うように、「ジュースには絞る価値がない」と思います。
以上がGo - ある構造体を別の構造体にマッピングする慣用的な方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。