基本上,遍历 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).