2016-11-06 2 views

答えて

2

あなたはreflect.Typeから新しい値を作成したい場合は、reflect.Newでそれを行うことができます。

thetype := reflect.TypeOf(hey) 
BB:= reflect.New(thetype) 

これは、あなたが例えば、その後することができますreflect.Value
を返します。 .Interface()を使用し、アサーションを入力して元のタイプに戻します。

囲碁遊び場の例:https://play.golang.org/p/rL-Hm0IUpd

+1

技術的にそれらが同じタイプではありません。(元の質問があまりにもポインタ対同じ値をしているが)https://play.golang.org/p/9Xk1Mdrg_V – JimB

+1

の場合彼は 'reflect.Zero'を使うことができるポインタの代わりに値を求めています。しかし、彼のソースコードが 'new'を使っているので、私はポインタを望んでいると想像しました。 – Matthias247

+0

@ Matthias247ありがとうございました! – CESCO

関連する問題