Итерация по полям структуры в Go

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

Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос