問題タブ [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 に答える
101 参照

go - リフレクトを使用して、埋め込み型が埋め込み型のメソッドをオーバーライドするかどうかを確認する方法は?

埋め込み型では、型が埋め込み型を介して特定のインターフェイスを実装している場合、または埋め込み型の実装をオーバーライドするメソッドの独自の実装がある場合、パッケージ リフレクトの使用をどのように区別できますか?

具体例 ( play.golang.org の完全な例):

を検査a1a2て使用するとき、メソッドinが に直接アタッチされているのに、メソッドinの実装が継承reflectされていることをどのように確認できますか?StringA1StringA2A2

と比較reflect.TypeOf(a1).MethodByName("String").Funcしてみましreflect.TypeOf(a1).Field(0).Type.MethodByName("String").Funcたが、2つの値が異なります。

注: 私の実際の使用例は、A が json.Marshaler を実装する場合、A を埋め込む型に json.Marshaler の独自の実装があることを強制する単体テストを作成することです。

0 投票する
1 に答える
400 参照

go - 「reflect」を使用して構造体の構造体内にインターフェイス値を設定する方法

「reflect」パッケージを使用してインターフェイスの値を設定しようとして苦労しました。インターフェイス値は、実際には構造体の構造体内にあります。Go Playgroundで私のコードを参照してください

基本的には、構造体のフィールドに関数をinitProc代入したいdummyAFuncDummyABox

私は Go を初めて使用し、リフレクションの法則を読みましたが、まだ理解できません。助けてください。ありがとう!