Go Reflect パッケージを使用した構造体フィールド タグのリフレクション
Go で構造体を扱うときは、関連付けられたカスタム タグを取得することが必要になることがよくあります。彼らのフィールドとともに。これを行うには、reflect パッケージを利用できます。
Reflection を使用したフィールド タグへのアクセス
特定のフィールドのタグ値を取得するには、次のコマンドを使用できます。アプローチ:
field, ok := reflect.TypeOf(user).Elem().FieldByName("name")
tag := string(field.Tag)
コード例
次の点を考慮してくださいstruct:
type User struct { name string `json:name` age int }
name フィールドの「json」タグ値を取得するには、次のコードを使用します:
user := &User{"John Doe", 20} field, ok := reflect.TypeOf(user).Elem().FieldByName("name") if ok { tag := string(field.Tag) fmt.Println(tag) // Output: json:"name" }
注: (例に示すように) 構造体へのポインターを扱っている場合は、基になる構造体にアクセスするには Elem を使用することを忘れないでください。 struct.
リフレクションを使用する利点
構造体のフィールドを反復処理することでフィールド タグに手動でアクセスすることは可能ですが、リフレクションを使用するといくつかの利点があります。
以上がGo の Reflect パッケージを使用して構造体フィールドのタグにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。