Pada dasarnya, satu-satunya cara (yang saya ketahui) untuk melakukan iterasi melalui nilai bidang a struct
adalah seperti ini:
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
}
Saya bertanya-tanya, jika ada cara yang lebih baik dan lebih fleksibel untuk mencapai []interface{}{ r.a_number, r.a_string, }
, jadi saya tidak perlu membuat daftar setiap parameter satu per satu, atau sebagai alternatif, apakah ada cara yang lebih baik untuk mengulang melalui struct?
Saya mencoba melihat-lihat reflect
paketnya, tetapi saya menemui hambatan, karena saya tidak yakin apa yang harus dilakukan setelah saya mengambilnya reflect.ValueOf(*r).Field(0)
.
Terima kasih!