Каков наилучший способ заполнить структуру, в которой много вложенных структур?
Я создал структуру для генерации из нее файла схемы json, который выглядит следующим образом:
type Schema struct {
Schema string `default:"http://json-schema.org/draft-04/schema#"`
Title string `default:"Test Schema"`
Type string `default:"object"`
AdditionalProperties bool `default:false`
Properties struct {
Core struct {
Type string
AdditionalProperties bool
Properties struct{}
}
Work struct {
Type string
AdditionalProperties bool
Properties struct{}
}
}
}
Сначала я хотел поместить данные по умолчанию в теги и заполнить структуру из этого, но пакет reflect
не выглядит внутри вложенных структур.
Вот что я сделал, используя reflect
:
t := reflect.TypeOf(Schema{})
for i := 0; i < t.NumField(); i++ {
field := t.Field(i)
tag := field.Tag.Get("default")
}