ホームページ > バックエンド開発 > Golang > ネストされたオブジェクトの Golang 構造

ネストされたオブジェクトの Golang 構造

王林
リリース: 2024-02-09 16:39:23
転載
986 人が閲覧しました

用于嵌套对象的 Golang 结构

php エディタ Apple は、Golang 言語のネストされたオブジェクトに使用される構造の詳細な紹介を共有しました。 Golang では、ネストされたオブジェクト構造は、構造内に他の構造やインターフェイス タイプをネストできる強力な機能です。ネストされたオブジェクトの構造により、コードを簡単に結合して再利用できるため、コードの可読性と保守性が向上します。それだけでなく、ネストされたオブジェクトの構造によって多重継承の効果も得られるため、複雑なデータ構造をより柔軟に設計および構築できるようになります。この記事では、読者がこの機能をよりよく理解し、適用できるように、Golang でネストされたオブジェクトの構造を使用する方法とテクニックについて詳しく説明します。

質問内容

現在 gofiber v2 を使用して golang API を作成しています。

mongo データベース内の音楽トラックには次のようなドキュメント構造があります:

リーリー

現在、私の golang モデルには次のトラック構造があります:

リーリー

現在、すべてのドキュメント フィールドは json に正しくデコードされていますが、埋め込まれた "variations.variations" フィールドを構築する方法で行き詰まっています (バリエーションの中にバリエーションがあることに注意してください)。埋め込みバリアントの構造は、キーのないオブジェクトですが、動的な mongo ID 文字列です。

カスタム構造体とインターフェイス型を実装しようとしましたが、成功しませんでした。

以前にこの問題に遭遇したことがある人がいたら、助けていただければ幸いです。

解決策

可能であれば interface{} (または any) を避け、具体的な型を使用することをお勧めします。例えば。 genres は文字列の配列であり、go では []string を使用します。

variations.variations フィールドの場合、map だけでなく、string キーとその要素を記述する構造体タイプも使用できます。

リーリー

以上がネストされたオブジェクトの Golang 構造の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート