問題タブ [go-reflect]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - 反射型からのスライスの作成
からスライスを作成しようとしていますreflect.Type
。これは私がこれまでに持っているものです。
ただし、次のエラーが発生し、への変換をハードコーディングせずに回避する方法がわかりません[]TestStruct
。
interface{}
からへの変換をハードコードすることなく、返されたインターフェイスをスライスとして扱う方法はあります[]TestStruct
か?
variables - Golang 動的変数リファレンス
Goでは、このようなことをしたいと思います。多くの構造体を持つ大きなオブジェクトがあります (Google の を使用protobuf
)。これは不自然な例です:
物事を動的に参照できるようにしたいと思います。例えば:
これはGoで可能ですか?もしそうなら、どうすればそれを行うことができますか? 基本的に、オブジェクトのサブセットのみを含むレポートを作成しています。ユーザーがキー/値を一緒にマップでき、プログラムが値を出力できるマッピング ファイルを作成できるようにしたいと考えています。私はこれをPythonで動作させていますが、Goを使ってみたかった:)
go - スライスをreflect.Newし、reflect.AppendSliceをソーススライスに追加する方法
いいねして別のスライスに追加しreflect.New
たい。[]interface{}
[]int
reflect.New
私のコードにはエラーがあるはずですが、それを正しくする方法と、および使用法を深く理解する方法がわかりませんreflect.AppendSlice
。
しかし、それはエラーを出します:
pointers - Reflect.AppendSlice の結果をポインタに代入
interface{}
このコードは、スライス上で効果的に左回転し、入力パラメーターとして受け入れるより一般的なバージョンに変換するのに問題があります。
最終的な課題に問題があります:
エラー メッセージは次のとおりですinvalid indirect of a (type {})
。の値a
はinterface{}
、したがって*a =
、ポインターが指しているスペースに右側の値を割り当てることになります。しかし、私の電話はAppendSlice
戻っValue
てきます。型アサーションがどこで発生する必要があるのか わかりません.左側にあると思いますか?
go - リフレクションを介して名前から型表現を取得するには?
Go でリフレクション ライブラリを使用して、型の名前からその型表現に移動する方法はありますか?
ユーザーがコード生成のために型表現を提供する必要があるライブラリがあります。そのタイプの変数を作成してTypeOf 関数を呼び出すだけでよいため、(ある意味で)可能であるに違いないことはわかっていますが、これを回避して名前から表現を取得する方法はありますか?
json - Golang - リフレクトと再帰を使用した JSON のマッピング
map[string]interface{}
Reflectと recursionを使用して json データをマップしようとしています。関数は期待どおりに機能しますが、ネストされた json に関してはすべての値をマッピングしていません。
私はこの次のjson構造を持っています:
これをフィールドの文字列と値のインターフェイスにマップしようとしています。フィールドの文字列がネストされている場合はドットで結合されます.
。たとえば、マッピングtitle
はmap[title:brand new restarant with changed name]
都市用name
であり、次のid
ようになりますmap[address.city.id:25 address.city.name:Dhaka]
私はこのスクリプトを書きました。
私の目標は、ネストされたjsonのキーがwhichのような文字列になり、値が最後の子の値になるkey
マップを取得することですvalue
parent.child.child.child
json path
最終的な出力は次map[address.city.id:25 address.city.name:Dhaka address.postal:1213 r_id:123456 title:brand new restarant with changed name descripton:here are some new desciption ...]
のmap[address.city.id:25 address.city.name:Dhaka r_id:123456 title:brand new restarant with changed name]
ようdescription
になりstate
ます。
タイプをソートしてから再帰関数を実行する必要があると思いますか?