ホームページ > バックエンド開発 > Golang > Go 構造体をマップに変換するにはどうすればよいですか?

Go 構造体をマップに変換するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-11 12:02:11
オリジナル
438 人が閲覧しました

How Can I Convert a Go Struct to a Map?

Golang で構造体をマップに変換する

特定のシナリオでは便宜上、Golang で構造体をマップに変換する必要がある場合があります。これは、reflect パッケージと json パッケージを通じて実現できます。

Reflect パッケージの使用

1 つのアプローチには、reflect パッケージを利用して構造体の構造を検査し、マップを動的に構築します。これは、提供されている ConvertToMap 関数を使用して行うことができます。

<br>func ConvertToMap(モデル インターフェース{}) bson.M {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">ret := bson.M{}

modelReflect := reflect.ValueOf(model)
... // Implementation

return ret
ログイン後にコピー

}
< /pre>

Structs パッケージ

また、structs パッケージは便利で包括的なソリューションを提供します。構造体をマップに変換するなど、構造体に関連するさまざまな操作をサポートします。たとえば、次のコード スニペットは Map 関数を利用しています:

<br>type Server struct {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">Name string
ID int32
Enabled bool
ログイン後にコピー

}

s := &Server{

Name: "gopher",
ID: 123456,
Enabled: true,
ログイン後にコピー

}

m := structs.Map(s) // => {"Name":"gopher", "ID":123456, "Enabled":true}

構造体パッケージは、匿名 (埋め込み) フィールドやネストされた構造体などのシナリオを処理します。 。さらに、フィールド タグを使用してフィールドをフィルタリングするオプションも提供します。

以上がGo 構造体をマップに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
前の記事:Go で静的なローカル変数の永続性を実現するにはどうすればよいですか? 次の記事:Go でカスタム証明書または信頼できない証明書を使用した HTTPS リクエストを処理する方法
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
関連トピック
詳細>
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート