질문:
특정 항목의 태그 값에 어떻게 액세스할 수 있습니까? 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의 리플렉션 패키지를 사용하여 구조체 필드 태그 값에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!