Iterar através dos campos de uma estrutura em Go
Basicamente, a única maneira (que eu conheço) de percorrer os valores dos campos de umstruct
é como isso:
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
}
Eu estava pensando, se há uma maneira melhor e mais versátil de alcançar[]interface{}{ r.a_number, r.a_string, }
, então eu não preciso listar cada parâmetro individualmente ou, alternativamente, existe uma maneira melhor de fazer um loop através de uma struct?
Eu tentei olhar através doreflect
pacote, mas eu bati em uma parede, porque eu não tenho certeza do que fazer quando eu recuperarreflect.ValueOf(*r).Field(0)
.
Obrigado!