Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'util/reflect_util')
-rw-r--r--util/reflect_util/reflect.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/util/reflect_util/reflect.go b/util/reflect_util/reflect.go
new file mode 100644
index 00000000..1fdaec50
--- /dev/null
+++ b/util/reflect_util/reflect.go
@@ -0,0 +1,21 @@
+package reflect_util
+
+import "reflect"
+
+func GetFields(t reflect.Type) []reflect.StructField {
+ num := t.NumField()
+ fields := make([]reflect.StructField, 0, num)
+ for i := 0; i < num; i++ {
+ fields = append(fields, t.Field(i))
+ }
+ return fields
+}
+
+func GetFieldValues(v reflect.Value) []reflect.Value {
+ num := v.NumField()
+ fields := make([]reflect.Value, 0, num)
+ for i := 0; i < num; i++ {
+ fields = append(fields, v.Field(i))
+ }
+ return fields
+}