По сути, единственный способ (который я знаю) перебирать значения полей a structвыглядит следующим образом:
type Example struct {
a_number uint32
a_string string
}
//...
r := &Example{(2 << 31) - 1, "...."}:
for _, d:= range []interface{}{ r.a_number, r.a_string, } {
//do something with the d
}
Мне было интересно, есть ли лучший и более универсальный способ достижения []interface{}{ r.a_number, r.a_string, }, поэтому мне не нужно перечислять каждый параметр по отдельности или, альтернативно, есть лучший способ перебрать структуру?
Я попытался просмотреть reflectпакет, но наткнулся на стену, потому что не знаю, что делать после того, как заберу его reflect.ValueOf(*r).Field(0).
Спасибо!