基本上,我所知道的迭代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)
后该怎么办。
谢谢!