最佳答案
基本上,遍历 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)
做什么。
谢谢!