Go でマップを構造体に変換する
質問:
どうすれば効率的にマップを変換できますか?文字列キーとインターフェイス値を対応するマップにマッピングします。{} struct?
答え:
主なアプローチは 2 つあります:
マップ構造の使用:
import "github.com/mitchellh/mapstructure" mapstructure.Decode(myData, &result)
カスタム実装:
func SetField(obj interface{}, name string, value interface{}) error { // Logic for setting the field value } func (s *MyStruct) FillStruct(m map[string]interface{}) error { // Iterate over the map and set the struct fields } // Example usage func main() { result := &MyStruct{} err := result.FillStruct(myData) if err != nil { fmt.Println(err) } }
注:
どちらのアプローチも、構造体のフィールド名がマップ キーと一致し、値が正しいことを前提としています。タイプ。これらのケースを処理するには、追加のコードが必要です。
以上がGo マップを構造体に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。