問題タブ [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.

0 投票する
0 に答える
86 参照

go - Reflect.Func からパッケージ パスを抽出する方法はありますか?

reflect.TypeOf関数で を使用すると、結果のオブジェクトは空になりますPkgPath()。これを示す完全な例は次のとおりです。

関数から pkg パスを取得する必要はなく、funcs に Reflect.Type だけを指定するとそれを学習する方法がないことを正しく理解していますか? そうでない場合-何らかの方法でそれを抽出する方法はまだありますか?

編集 1: 私が解決しようとしている問題は、コード ジェネレーターに渡す関数で何かを実行するコードを作成するコード ジェネレーターを作成することです。コードジェネレーターは、ユーティリティのメイン関数で呼び出されるライブラリであり、一部のパッケージで定義した関数を何らかの方法で取得し、それらの関数を何らかの方法で使用するコードを作成する必要があります。

0 投票する
0 に答える
681 参照

go - Gomock SetArg() パニック

SuccessHandler関数をテストするために呼び出されるインターフェイスをモックするために gomock を使用しようとしています。

私が持っているインターフェース:

そしての実装Item

SetResults構造体を変更するため、常にポインターレシーバーに実装されることに注意してください。

モックに実行させたいのは、MyItemwhen HandleSuccess()gets が呼び出されたときの結果を引数として設定MyItemし、引数の値を変更することだけです。モックのために私がやろうとしたことは次のとおりです。

これにより、次のようなパニックが発生します。

次に、変数を単に構造体に変更してみました。

これはパニックにはなりませんが、 の値を変更することにはなりませんResult

私が間違っていることについてのアイデアはありますか?