-
Go言語の構造タグ(Structタグ)
構造体のメンバ情報をreflect.Typeで取得するreflect.StructField構造体のタグを構造体タグ(Structタグ)と呼びます。構造体タグは、構造体フィールドの追加情報タグです。 JSON […]
-
Go言語はリフレクションを通じて構造体のメンバー型を取得します
任意の値が、reflect.TypeOf() を通じてリフレクティブ オブジェクトの情報を取得した後、その型が構造体の場合、リフレクティブ値オブジェクト (reflect.TypeOf) の NumField() […]
-
Go 言語インジェクション ライブラリ: 依存性インジェクション
injectを紹介する前に、「依存性注入」と「制御の反転」という2つの概念を簡単に紹介しましょう。 通常の状況では、関数またはメソッドの呼び出しは、アクティブで直接的な動作です。関数を呼び出す前に、呼び出され […]
-
Go 言語はリフレクションを通じて関数を呼び出します
リフレクション値オブジェクト (reflect.Value) の値の型が関数の場合、reflect.Value を通じて関数を呼び出すことができます。リフレクションを使用して関数を呼び出す場合、リフレクション値オ […]
-
Go 言語は型情報を通じてインスタンスを作成します
Reflect.Type がわかっている場合、この型のインスタンスを動的に作成できます。インスタンスの型はポインターです。たとえば、reflect.Type の型が int の場合、 int ポインター、つまり* […]
-
Go 言語はリフレクションを通じて変数の値を変更します
Go 言語の x、xf[1]、*p などの式は変数を表すことができますが、x + 1 や f(2) などの式は変数ではありません。変数は、値が格納されるアドレス指定可能なメモリ空間であり、格納された値はメモリ ア […]
-
Go言語 IsNil() と IsValid() – リフレクション値の無効と有効性を判断する
リフレクション値オブジェクト (reflect.Value) は、次の表に示すように、ゼロ値と空の判定のための一連のメソッドを提供します。 反映値オブジェクトのゼロ値と妥当性判定方法 方法 説明する IsNi […]
-
Go 言語はリフレクションを通じて構造体のメンバーの値にアクセスします
リフレクション値オブジェクト (reflect.Value) は、次の表に示すように、構造体にアクセスするためのメソッドを提供します。これにより、構造体の任意の値へのアクセスを完了できます。 反映された値オブ […]
-
Go言語のreflect.ValueOf()とreflect.Value(リフレクションを通じて値情報を取得)
インターフェース値をreflect.ValueOf関数呼び出しに渡すと、呼び出しはインターフェース値の動的値を表すreflect.Valueを返します。インターフェイス値を間接的に表すreflect.Valueを […]
-
Go言語reflect.Elem() – リフレクションを通じてポインタが指す要素の型を取得します
Go 言語プログラムでポインターのリフレクション オブジェクトを取得する場合、ポインターが指す要素の型は、reflect.Elem() メソッドを通じて取得できます。この取得処理を要素取得と呼び、ポインタ型変数に […]