Zasadniczo jedyny sposób (jaki znam) na iterację wartości pól a struct
jest taki:
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
}
Zastanawiałem się, czy istnieje lepszy i bardziej wszechstronny sposób osiągnięcia tego celu []interface{}{ r.a_number, r.a_string, }
, więc nie muszę osobno wymieniać każdego parametru, czy też alternatywnie, czy istnieje lepszy sposób na zapętlenie przez strukturę?
Próbowałem przejrzeć reflect
paczkę, ale uderzyłem w ścianę, ponieważ nie jestem pewien, co zrobić po odzyskaniu reflect.ValueOf(*r).Field(0)
.
Dzięki!