Về cơ bản, cách duy nhất (mà tôi biết) để lặp qua các giá trị của các trường của a structlà như sau:
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
}
Tôi đã tự hỏi, nếu có một cách tốt hơn và linh hoạt hơn để đạt được []interface{}{ r.a_number, r.a_string, }, vì vậy tôi không cần phải liệt kê từng tham số riêng lẻ, hoặc cách khác, có cách nào tốt hơn để lặp qua một cấu trúc không?
Tôi đã cố gắng xem qua reflectgói hàng, nhưng tôi đã va phải một bức tường, vì tôi không biết phải làm gì sau khi lấy ra reflect.ValueOf(*r).Field(0).
Cảm ơn!