質問:
特定のフィールドのタグ値にアクセスするにはどうすればよいですか? Go リフレクションを使用した構造体フィールドpackage?
答え:
構造体を反映している間、値を指定して特定のフィールドのタグ値を直接取得することはできません。これは、リフレクション パッケージが値を元の構造体に自動的に関連付けることができないためです。
タグの値を取得するには、フィールドに関連付けられたreflect.StructFieldを取得する必要があります。その方法は次のとおりです。
import "reflect" type User struct { name string `json:name-field` age int } func getStructTag(field reflect.StructField) string { return string(field.Tag) } // ... user := &User{"John Doe The Fourth", 20} field, ok := reflect.TypeOf(user).Elem().FieldByName("name") if ok { tag := getStructTag(field) // ... }
この例では、FieldByName を使用して、「name」フィールドの Reflect.StructField (フィールド) を取得します。次に、フィールドを getStructTag 関数に渡してタグ値を取得します。
以上がGOの反射パッケージを使用して、structフィールドタグ値にアクセスする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。