मूल रूप से, एक ही रास्ता (कि मुझे पता है) एक के क्षेत्रों के मूल्यों के माध्यम से पुनरावृति 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)
।
धन्यवाद!