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:
authorMHSanaei <mc.sanaei@gmail.com>2023-02-09 22:18:06 +0300
committerMHSanaei <mc.sanaei@gmail.com>2023-02-09 22:18:06 +0300
commitb73e4173a3c1e69e02ad6b4e3b43e425e57a5be9 (patch)
treed95d2f5e903d97082e11eb9f9023c165b1bde388 /util/reflect_util
3x-ui
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
+}