По сути, единственный способ (который я знаю) перебирать значения полей 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)
.
Спасибо!